From: Gavin E. Gleason
Subject: ld and foriegn functions in CMUCL
Date: 
Message-ID: <87vh4329m7.fsf@hasdrubal.carthage.unm.edu>
I'm having a hell of a time getting the load-foreign.csh to work in 
CMUCL.  I'm on FreeBSD 3.1, and I'm using the release called 
cmucl-18b.x86.freebsd22.tgz.  I figure it has something to do with 
elf and aout.  Is there any way I can get the linker to work?  
The exact messages are as follows (useing aout and elf ld respectively).


Error in function LOAD-FOREIGN:  library:load-foreign.csh failed:
/usr/libexec/aout/ld -N -A /usr/local/bin/lisp -T 7000000 -o /tmp/tmp79370C 
/usr/local/pgsql/lib/libpq.so -lcrypt -lc
ld: /usr/local/pgsql/lib/libpq.so: malformed input file (not rel or archive) 


Error in function LOAD-FOREIGN:  library:load-foreign.csh failed:
ld -N -A /usr/local/bin/lisp -T 7000000 -o /tmp/tmp79370A 
/usr/local/pgsql/lib/libpq.so -lcrypt -lc
/usr/libexec/elf/ld: cannot open linker script file 7000000: 
No such file or directory
 
Should I recompile libpq.so using aout?  Is this the problem? 

	Gavin E. Mendel-Gleason

-- 
"Syntactic sugar causes cancer of the semicolon."
	-Alan Perlis

From: Fred Gilham
Subject: Re: ld and foriegn functions in CMUCL
Date: 
Message-ID: <u7n1pem691.fsf@snapdragon.csl.sri.com>
Gavin Gleason writes:
>I'm having a hell of a time getting the load-foreign.csh to work in 
>CMUCL....

Right now the change to ELF in FreeBSD has left CMUCL in something of
a lurch.  I recently submitted a patch that might fix that, if it
tests out OK and gets incorporated.

The problem is that if the CMUCL binary is ELF you need to use an ELF
version of the linker (you can't use /usr/libexec/aout/ld).  If the
CMUCL binary is an aout version, you can't link ELF files.  But I
think the most recent CMUCL binary is ELF.

If you want to try out my ELF version of foreign.lisp, I'll put it in

   ftp.csl.sri.com:/pub/users/gilham/foreign.lisp
and
   ftp.csl.sri.com:/pub/users/gilham/load-foreign.csh.elf


-- 
Fred Gilham                                      ······@csl.sri.com
I have over the years been viewed as a man of the left and a man of
the right, and the truth is that I've never put much stake in such
labels. But this I have learned: the left patrols its borders and
checks membership credentials ever so much more scrupulously, even
ruthlessly, than does the right.            -- Richard John Neuhaus
From: Frode Vatvedt Fjeld
Subject: Re: ld and foriegn functions in CMUCL
Date: 
Message-ID: <2hk8khjpyp.fsf@dslab7.cs.uit.no>
Fred Gilham <······@snapdragon.csl.sri.com> writes:

> ftp.csl.sri.com:/pub/users/gilham/load-foreign.csh.elf

I'd like to try it out, but it seems this file is not readable for the
public..

-- 
Frode Vatvedt Fjeld
From: Fred Gilham
Subject: Re: ld and foriegn functions in CMUCL
Date: 
Message-ID: <u7d7q911rw.fsf@snapdragon.csl.sri.com>
>I'd like to try it out, but it seems this file is not readable for the
>public..

Oops...should work now...

  ftp.csl.sri.com:/pub/users/gilham/load-foreign.csh.elf

-- 
Fred Gilham                                      ······@csl.sri.com
Telemarketer, n.  Someone who believes one of the most annoying and
	          offensive invasions of privacy make a customer
	          better disposed towards a company.
From: Martin Cracauer
Subject: Re: ld and foriegn functions in CMUCL
Date: 
Message-ID: <87m56f$mok$1@counter.bik-gmbh.de>
········@unm.edu (Gavin E. Gleason) writes:


>I'm having a hell of a time getting the load-foreign.csh to work in 
>CMUCL.  I'm on FreeBSD 3.1, and I'm using the release called 
>cmucl-18b.x86.freebsd22.tgz.  

You need to load a.out object files. Compile with -aout (or set
$OBJFORMAT=aout) and use the modified load-forign someone postet to
cmucl-imp (think it was Fred). You may have to install additional aout
support from the FreeBSD cd.

#!/bin/csh -fx

#ld -N -A $argv[1] -T $argv[2] -o $argv[3] $argv[5-]
/usr/libexec/aout/ld -N -A $argv[1] -T $argv[2] -o $argv[3] $argv[5-]

if ($status != 0) exit 1
ls -l $argv[3] > /dev/tty
size -aout $argv[3] > /dev/tty

#nm -gp $argv[3] > $argv[4]
nm -aout -gp $argv[3] > $argv[4]
if ($status != 0) exit 2

exit 0
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <········@bik-gmbh.de> http://www.bik-gmbh.de/~cracauer/
"Where do you want to do today?" Hard to tell running your calendar 
 program on a junk operating system, eh?