[Spread-users] Spread 3.17.1 on AIX
Becky Alcorn
becky at unisolve.com.au
Tue Oct 21 01:54:26 EDT 2003
Thank you very much for your prompt and excellent reply. It all seems to be working now!
Thanks again,
Becky
Becky Alcorn
Unisolve Pty Ltd - Melbourne, Australia
+61 3 9568 2005
This line intentionally left blank.
----- Original Message -----
From: Theo Schlossnagle
To: Becky Alcorn
Cc: Theo Schlossnagle ; spread-users at lists.spread.org
Sent: Tuesday, October 21, 2003 2:38 PM
Subject: Re: [Spread-users] Spread 3.17.1 on AIX
On Monday, Oct 20, 2003, at 23:57 US/Eastern, Becky Alcorn wrote:
Hi,
I'm trying to install Spread 3.17.1 on an AIX 4.3 machine. The ./configure
step works fine, however when I try make it dies with the messages below.
Can anybody help me?
Well, the easiest thing to do is to skip building the shared libraries. (don't build libspread.so and libtspread.so)
Just drop libspread.so and libtspread.so from the TARGETS= line of the Makefile and install-libspread.so and install-libtspread.so from the install: line.
cc -shared -o libspread.so alarm.lo events.lo memory.lo sp.lo -lnsl
cc: 1501-218 file alarm.lo contains an incorrect file suffix
cc: 1501-218 file events.lo contains an incorrect file suffix
cc: 1501-218 file memory.lo contains an incorrect file suffix
cc: 1501-218 file sp.lo contains an incorrect file suffix
ld: 0706-012 The -h flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
make: The error code from the last command is 255.
building shared libraries on AIX is more complicated than on other modern unix system. You _may_ have better luck with a recent version of GNU ld.
AIX requires symbol export tables to construct shared libraries (someone somewhere was too lazy to automate the most standard case of this) so you have to do a bit of work. If you are familiar with the compile, symbolize and link process, you may be able to manually link yourself up some shared libraries... Otherwise, I think the task may be too daunting.
Maybe something like this:
mkdir scratch
cp alarm.lo events.lo memory.lo sp.lo scratch/
cd scratch
for i in *.lo
do
mv $i `echo $i | sed -e 's/\.lo/\.o/;'`
done
/bin/nm -B -BCpg *.o | awk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' | sort -u > libspread.exp
xlC -o libspread.so -bnoentry -bexport:libspread.exp -G *.o -lnsl
I don't have an AIX box to test that on, but something like that should work... I am sure you can accomplish the same thing with libtool, but that is a black art that I do not know.
// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on earth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.spread.org/pipermail/spread-users/attachments/20031021/16ec4483/attachment.html
More information about the Spread-users
mailing list