Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 527 forks source link

Solaris7, make test, socket problem #1684

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#2930 (status was 'resolved')

Searchable as RT2930$

p5pRT commented 24 years ago

From amulder@irus.rri.on.ca

Created by sysadmin@irus.rri.on.ca

  Executive summary​: I had to run "sh Configure" and add "-lresolv" to   the libraries line\, otherwise "make test" would fail several tests with   complaints about socket.so. I would hope that the installation process   could be improved to automatically pick up on this.

  Details follow​:

  I have a Sun Ultra/1 with solaris 7 installed\, with all current   patches as of a month ago. Our version of gcc is egcs-2.91.60.

  I'm trying to build perl 5.6.0 and was stunned to see it fail   during the make test. (I'm spoiled\, I expect everything to work   on Sun's)

  I ran "sh Configure -de;make;make test"   I get the following errors​:

  lib/socket...........ld.so.1​: ./perl​: fatal​: relocation error​: file   ../lib/auto/Socket/Socket.so​: symbol inet_aton​: referenced symbol   not found

  (there are several errors\, this is just one). I then cd'd into   the 't/' directory and ran "./perl harness" which gives the same   errors and the following summary​:

  Failed Test Status Wstat Total Fail Failed List of failed   ---------------------------------------------------------------   lib/io_multihom 145 37120 8 6 75.00% 3-8   lib/io_sock.t 145 37120 14 13 92.86% 2-14   lib/io_udp.t 0 9 7 7 100.00% 1-7   lib/ph.t 84 2 2.38% 21\, 49   lib/socket.t 0 9 ?? ?? % ??

  After going through /usr/lib and running nm on everything in   there and grepping for inet_aton\, I found it in libresolv.

  So then I tried a "make distclean" followed by an interactive   run of "sh Configure"\, adding "-lresolv" to the libraries   section​:

  ...   What libraries to use?   [-lsocket -lbind -lnsl -ldb -ldl -lm -lc -lcrypt -lsec] $* -lresolv   ...

  Now "make test" would run to completion w/out any errors.

  During the course of my testing\, I upgraded our gcc to 2.95.2 and   that made no difference. I also tried running Configure several different   ways\, playing with my path\, in case that was messing things up.   One possibility that I didn't get to before this fix\, was that I do   have "LD_LIBRARY_PATH" set to "/usr/openwin/lib"\, but that shouldn't   cause any problems.

  I hope that this bug report has been filed in the correct manner\, and   you find it to be of some help.

  Warm regards   ...art mulder

Perl Info ``` Flags: category=install severity=medium Site configuration information for perl v5.6.0: Configured by amulder at Fri Mar 31 15:19:16 EST 2000. Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration: Platform: osname=solaris, osvers=2.7, archname=sun4-solaris uname='sunos theremin.irus.rri.on.ca 5.7 generic_106541-09 sun4u sparc ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef Compiler: cc='gcc', optimize='-O', gccversion=2.95.2 19991024 (release) cppflags='-fno-strict-aliasing -I/usr/local/include' ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' stdchar='char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib /irus/lib libs=-lsocket -lbind -lnsl -ldl -lm -lc -lcrypt -lsec -lresolv libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' Locally applied patches: @INC for perl v5.6.0: /usr/local/lib/perl5/5.6.0/sun4-solaris /usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl/5.005/sun4-solaris /usr/local/lib/perl5/site_perl/5.005 /usr/local/lib/perl5/site_perl . Environment for perl v5.6.0: HOME=/home/irus/amulder LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH=/usr/openwin/lib LOGDIR (unset) PATH=~/bin:/usr/local/bin:/irus/bin:/usr/openwin/bin:/usr/openwin/bin/xview:/usr/ccs/bin:/usr/ucb:/usr/sbin:/usr/bin:/nero/local/tec8sol/bin:. PERL_BADLANG (unset) SHELL=/bin/tcsh ```
p5pRT commented 24 years ago

From @gsar

On Fri\, 31 Mar 2000 16​:17​:07 EST\, Art Mulder wrote​:

Executive summary​: I had to run "sh Configure" and add "-lresolv" to the libraries line\, otherwise "make test" would fail several tests with complaints about socket.so. I would hope that the installation process could be improved to automatically pick up on this.

Details follow​:

I have a Sun Ultra/1 with solaris 7 installed\, with all current patches as of a month ago. Our version of gcc is egcs-2.91.60.

I'm trying to build perl 5.6.0 and was stunned to see it fail during the make test. (I'm spoiled\, I expect everything to work on Sun's)

I ran "sh Configure -de;make;make test" I get the following errors​:

lib/socket...........ld.so.1​: ./perl​: fatal​: relocation error​: file ../lib/auto/Socket/Socket.so​: symbol inet_aton​: referenced symbol not found

(there are several errors\, this is just one). I then cd'd into the 't/' directory and ran "./perl harness" which gives the same errors and the following summary​:

Failed Test Status Wstat Total Fail Failed List of failed --------------------------------------------------------------- lib/io_multihom 145 37120 8 6 75.00% 3-8 lib/io_sock.t 145 37120 14 13 92.86% 2-14 lib/io_udp.t 0 9 7 7 100.00% 1-7 lib/ph.t 84 2 2.38% 21\, 49 lib/socket.t 0 9 ?? ?? % ??

After going through /usr/lib and running nm on everything in there and grepping for inet_aton\, I found it in libresolv.

So then I tried a "make distclean" followed by an interactive run of "sh Configure"\, adding "-lresolv" to the libraries section​:

 \.\.\.
 What libraries to use?
 \[\-lsocket \-lbind \-lnsl \-ldb \-ldl \-lm \-lc \-lcrypt \-lsec\] $\* \-lresolv
 \.\.\.

Now "make test" would run to completion w/out any errors.

During the course of my testing\, I upgraded our gcc to 2.95.2 and that made no difference. I also tried running Configure several different ways\, playing with my path\, in case that was messing things up. One possibility that I didn't get to before this fix\, was that I do have "LD_LIBRARY_PATH" set to "/usr/openwin/lib"\, but that shouldn't cause any problems.

There's some strangeness going on here\, because other people have reported successful builds on Solaris 2.7 without having to add -lresolv. If you could compare config info to determine how your setup is different\, that would help tremendously. Past ok reports are archived here​:

  http​://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/

I hope that this bug report has been filed in the correct manner\, and you find it to be of some help.

Yes indeed\, thanks.

Sarathy gsar@​activestate.com

p5pRT commented 20 years ago

From @rspier

Chromatic say​:

Bug #2930 looks like it can be closed; tests on Solaris 2.7 are passing in this recent smoke report​:

http​://nntp\.x\.perl\.org/group/perl\.daily\-build\.reports/6420
p5pRT commented 20 years ago

@rspier - Status changed from 'open' to 'resolved'