Mailing List Archive

perl5 on linux [was Re: perl5.001n on AIX ]
> My linux build also seems to fail about 1/2 way through due to a prototype mismatch for
> vsprintf in util.c . Has anyone else had it work for linux?



This problem appears to be because using nm to scan libraries is
broken when using Slackware 3.0 which has all ELF libraries. If I
answer no to the nm question everything works and all tests pass.

Here is what Configure prints when I answer yes to that question.

...

What is the file extension used for shared libraries? [so]
Checking for optional libraries...
Any additional libraries? [-lgdbm -ldbm -ldb -ldl -lm -lc -lbsd]
Shall I use nm to extract C symbols from the libraries? [y]
Where is your C library? [/usr/lib/libc.so.1]
Extracting names from the following files for later perusal:
/lib/libdl.so.1.7.3
/lib/libm.so.5.0.0
/usr/lib/libbsd.a
/usr/lib/libc.so.1
/usr/lib/libdb.so.2.0.0
/usr/lib/libdbm.so.2.0.0
/usr/lib/libgdbm.so.2.0.0
This may take a while...............nm didn't seem to work right. Trying ar instead...
ar: /usr/lib/libc.so.1 is not an archive
ar didn't seem to work right.
Maybe this is a Cray...trying bld instead...
./Configure: bld: command not found
./Configure: bld: command not found
ar: /usr/lib/libgdbm.so.2.0.0 is not an archive
./Configure: bld: command not found
ar: /usr/lib/libdbm.so.2.0.0 is not an archive
./Configure: bld: command not found
ar: /usr/lib/libdb.so.2.0.0 is not an archive
./Configure: bld: command not found
ar: /lib/libdl.so.1.7.3 is not an archive
./Configure: bld: command not found
ar: /lib/libm.so.5.0.0 is not an archive
./Configure: bld: command not found
Ok.
gconvert NOT found.

...

This is Slackware 3.0 using the linux-1.2.13 kernel.

Wayne
Re: perl5 on linux [was Re: perl5.001n on AIX ] [ In reply to ]
On Thu, 2 Nov 1995, Wayne Scott wrote:

> This problem appears to be because using nm to scan libraries is
> broken when using Slackware 3.0 which has all ELF libraries. If I
> answer no to the nm question everything works and all tests pass.

Urk. Slackware's beta-elf distribution didn't have this problem.
What's the nm --version output?
What are the libc versions? libc.so.1? I thought it was libc.so.5.

> ./Configure: bld: command not found

I guess Configure ought to be smart enough to turn off nm by itself
when it gets such nonsense.

Sigh.

Andy Dougherty doughera@lafcol.lafayette.edu
Re: perl5 on linux [was Re: perl5.001n on AIX ] [ In reply to ]
> Urk. Slackware's beta-elf distribution didn't have this problem.
> What's the nm --version output?
> What are the libc versions? libc.so.1? I thought it was libc.so.5.


% nm --version
GNU nm version cygnus/linux-2.5.2l.14


Ok now I know the problem.

# ls -l /lib/libc.* /usr/lib/libc.*
13 Oct 27 08:32 /lib/libc.so.4 -> libc.so.4.7.2* # old a.out library
634880 Apr 29 1995 /lib/libc.so.4.7.2*
13 Oct 26 06:27 /lib/libc.so.5 -> libc.so.5.0.9* # new dynamic elf library
562683 May 18 20:47 /lib/libc.so.5.0.9*

947972 May 18 20:47 /usr/lib/libc.a # new static elf library
29 Oct 26 06:27 /usr/lib/libc.so.1 -> /usr/i486-sysv4/lib/libc.so.1*

The last libc.so.1 is installed by the iBCS package. (Included in the
slackware dist.) iBCS is the Intel Binary Compatibly System it allows
Linux to run binaries created on SCO or UnixWare. When those binaries
have shared libaries they need to be found. libc.so.1 is a SysVr4 C
library that 'nm' does not understand.

I can hear Andy groaning from here!

Wayne
Re: perl5 on linux [was Re: perl5.001n on AIX ] [ In reply to ]
In-Reply-To: <9511021949.AA32512@pdx202.intel.com>
> This problem appears to be because using nm to scan libraries is
> broken when using Slackware 3.0 which has all ELF libraries. If I
> answer no to the nm question everything works and all tests pass.

I had exactly the same problem with Linux-FT version 1.0. The problem is
that nm doesn't correctly read the shared libraires, and outputs '?'
instead of 'T' or 'U' etc in the second column. I have a later version,
which has the following:
Linux 1.2.13
gcc 2.7.0
libc.so.5.2.8
nm 2.5.2l.14
I suggest you try later versions of the ELF support stuff.

Alan Burlison aburlison@cix.compulink.co.uk
Re: perl5 on linux [was Re: perl5.001n on AIX ] [ In reply to ]
In-Reply-To: <9511022206.AA33757@pdx202.intel.com>
> Ok now I know the problem.
> 29 Oct 26 06:27 /usr/lib/libc.so.1 -> usr/i486-sysv4/lib/libc.so.1*
>
> The last libc.so.1 is installed by the iBCS package. (Included in the
> slackware dist.) iBCS is the Intel Binary Compatibly System it allows
> Linux to run binaries created on SCO or UnixWare. When those binaries
> have shared libaries they need to be found. libc.so.1 is a SysVr4 C
> library that 'nm' does not understand.

I don't think that *is* the problem. My system also has the same iBCS
libs installed, and perl5.001n builds fine for me.

ls -l /lib/libc.* /usr/lib/libc.* shows:

/lib/libc.so.5 -> libc.so.5.2.8
/lib/libc.so.5.2.6
/lib/libc.so.5.2.8
/usr/lib/libc.a -> ../pkg/gcc/lib/libc.a
/usr/lib/libc.so.1 -> ../i486-sysv4/lib/libc.so.1
/usr/lib/libc.so.5 -> /lib/libc.so.5

Out of interest, how do you use the iBCS stuff? I wonder if it will
allow Unisys U6000 ELF executables to run?

Alan Burlison aburlison@cix.compulink.co.uk