develooper Front page | perl.perl5.porters | Postings from October 2003

Bug in lib/ExtUtils/t/Embed.t

From:
Martin MOKREJŠ
Date:
October 2, 2003 12:06
Subject:
Bug in lib/ExtUtils/t/Embed.t
Message ID:
Pine.OSF.4.51.0310022057190.20368@tao.natur.cuni.cz
Hi,
  the test in perl-5.8.1 fails on Tru64Unix 5.1A fails when user sets in
config.sh `libs' and 'perllibs' to contain static libs. The failure looks
like:

$ ./perl ./lib/ExtUtils/t/Embed.t
1..9
Unrecognized argument in LIBS ignored: '/software/@sys/usr/lib/libgdbm.a'
Unrecognized argument in LIBS ignored: '/usr/ccs/lib/libdbm.a'
Unrecognized argument in LIBS ignored: '/software/@sys/usr/BerkeleyDB-3.3.11/lib/libdb.a'
# cc -o embed_test -I..  -pthread -std -fprm d -ieee -I/usr/local2/openssl/include -I/software/@sys/usr/include -I/software/@sys/usr/BerkeleyDB-3.3.11/include -I/usr/local2/include -DLANGUAGE_C  -I/software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/CORE  embed_test.c -L.. -lperl   -L/usr/local2/openssl/lib -I/usr/local2/openssl/include -L/software/@sys/usr/lib -L/software/@sys/usr/BerkeleyDB-3.3.11/lib -L/usr/local2/lib -I/software/@sys/usr/include -I/software/@sys/usr/BerkeleyDB-3.3.11/include -I/usr/local2/include /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/DynaLoader/DynaLoader.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/B/B.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/ByteLoader/ByteLoader.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Cwd/Cwd.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/DB_File/DB_File.a /software/@sys/usr/lib!
 /perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Data/Dumper/Dumper.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/DProf/DProf.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/PPPort/PPPort.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/Peek/Peek.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Digest/MD5/MD5.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Encode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Byte/Byte.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/CN/CN.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/EBCDIC/EBCDIC.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/JP/JP.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/KR/KR.a /software/@sys/usr/lib/perl5/5.8.1/alph!
 a-dec_osf-thread-multi-ld/auto/Encode/Symbol/Symbol.a /software/@sys/u
sr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/TW/TW.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Unicode/Unicode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Fcntl/Fcntl.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/File/Glob/Glob.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Filter/Util/Call/Call.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/GDBM_File/GDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/I18N/Langinfo/Langinfo.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/IO/IO.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/IPC/SysV/SysV.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/List/Util/Util.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/MIME/Base64/Base64.a /software/@sys/usr/lib/perl5/5.!
 8.1/alpha-dec_osf-thread-multi-ld/auto/NDBM_File/NDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/ODBM_File/ODBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Opcode/Opcode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/POSIX/POSIX.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/encoding/encoding.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/scalar/scalar.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/via/via.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/SDBM_File/SDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Socket/Socket.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Storable/Storable.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Sys/Hostname/Hostname.a /software/@sys/usr/lib/per!
 l5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Sys/Syslog/Syslog.a /softw
are/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Time/HiRes/HiRes.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Unicode/Normalize/Normalize.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/attrs/attrs.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/re/re.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/threads/threads.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/threads/shared/shared.a -L/software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/CORE -lperl -lm -lutil -lpthread -lexc -L/usr/local/lib -ldb -lgdbm -ldbm -lrt
ld:
Unresolved:
PL_sigfpe_saved
not ok 1
# embed_test = ./embed_test
Can't exec "./embed_test": Permission denied at ./lib/ExtUtils/t/Embed.t line 135.
not ok 9 # system returned -1
$


The debug points to:

main::(./lib/ExtUtils/t/Embed.t:83):
83:         push(@cmd,ldopts());
  DB<1>
Unrecognized argument in LIBS ignored: '/software/@sys/usr/lib/libgdbm.a'
Unrecognized argument in LIBS ignored: '/usr/ccs/lib/libdbm.a'
Unrecognized argument in LIBS ignored: '/software/@sys/usr/BerkeleyDB-3.3.11/lib/libdb.a'
main::(./lib/ExtUtils/t/Embed.t:85):
85:        if ($borl) {
  DB<1>
  DB<1> p @cmd
cc-oembed_test-I.. -pthread -std -fprm d -ieee -I/usr/local2/openssl/include -I/software/@sys/usr/include -I/software/@sys/usr/BerkeleyDB-3.3.11/include -I/usr/local2/include -DLANGUAGE_C  -I/software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/CORE embed_test.c-L..-lperl  -L/usr/local2/openssl/lib -I/usr/local2/openssl/include -L/software/@sys/usr/lib -L/software/@sys/usr/BerkeleyDB-3.3.11/lib -L/usr/local2/lib -I/software/@sys/usr/include -I/software/@sys/usr/BerkeleyDB-3.3.11/include -I/usr/local2/include /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/DynaLoader/DynaLoader.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/B/B.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/ByteLoader/ByteLoader.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Cwd/Cwd.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/DB_File/DB_File.a /software/@sys/usr/lib/perl5/5.8!
 .1/alpha-dec_osf-thread-multi-ld/auto/Data/Dumper/Dumper.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/DProf/DProf.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/PPPort/PPPort.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Devel/Peek/Peek.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Digest/MD5/MD5.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Encode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Byte/Byte.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/CN/CN.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/EBCDIC/EBCDIC.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/JP/JP.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/KR/KR.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-!
 thread-multi-ld/auto/Encode/Symbol/Symbol.a /software/@sys/usr/lib/per
l5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/TW/TW.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Encode/Unicode/Unicode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Fcntl/Fcntl.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/File/Glob/Glob.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Filter/Util/Call/Call.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/GDBM_File/GDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/I18N/Langinfo/Langinfo.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/IO/IO.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/IPC/SysV/SysV.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/List/Util/Util.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/MIME/Base64/Base64.a /software/@sys/usr/lib/perl5/5.8.1/alpha-!
 dec_osf-thread-multi-ld/auto/NDBM_File/NDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/ODBM_File/ODBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Opcode/Opcode.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/POSIX/POSIX.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/encoding/encoding.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/scalar/scalar.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/PerlIO/via/via.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/SDBM_File/SDBM_File.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Socket/Socket.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Storable/Storable.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Sys/Hostname/Hostname.a /software/@sys/usr/lib/perl5/5.8.1/a!
 lpha-dec_osf-thread-multi-ld/auto/Sys/Syslog/Syslog.a /software/@sys/u
sr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Time/HiRes/HiRes.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/Unicode/Normalize/Normalize.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/attrs/attrs.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/re/re.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/threads/threads.a /software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/auto/threads/shared/shared.a -L/software/@sys/usr/lib/perl5/5.8.1/alpha-dec_osf-thread-multi-ld/CORE -lperl -lm -lutil -lpthread -lexc -L/usr/local/lib -ldb -lgdbm -ldbm -lrt

  DB<2>


Please note that -L.. is missing and therefore libperl.a cannot be found.

That's actually the cause for:

ld:
Unresolved:
PL_sigfpe_saved

I believe the lib/perl5/5.8.1/ExtUtils/Embed.pm:166
where the ldopts() starts is the cause for the LIBS bug and good place to
start to fix the bug.

libperl='libperl.a'
libpth='/usr/local2/openssl/lib /software/@sys/usr/lib /software/@sys/usr/BerkeleyDB-3.3.11/lib /usr/local2/lib /usr/shlib /usr/ccs/lib
/usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib'
libs='-lm -lutil -lpthread -lexc'
libsdirs=' /software/@sys/usr/lib /usr/ccs/lib /software/@sys/usr/BerkeleyDB-3.3.11/lib /usr/shlib'
libsfiles=' libgdbm.a libdbm.a libdb.a libm.so libutil.a libpthread.so libexc.so'
libsfound=' /software/@sys/usr/lib/libgdbm.a /usr/ccs/lib/libdbm.a /software/@sys/usr/BerkeleyDB-3.3.11/lib/libdb.a /usr/shlib/libm.so /
usr/ccs/lib/libutil.a /usr/shlib/libpthread.so /usr/shlib/libexc.so'
libspath=' /usr/local2/openssl/lib /software/@sys/usr/lib /software/@sys/usr/BerkeleyDB-3.3.11/lib /usr/local2/lib /usr/shlib /usr/ccs/l
ib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib'
libswanted='sfio socket bind inet nsl nm gdbm dbm db malloc dld ld sun m crypt sec util cposix posix ucb BSD pthread exc'
libswanted_uselargefiles=''


perllibs='/software/@sys/usr/lib/libgdbm.a /usr/ccs/lib/libdbm.a /software/@sys/usr/BerkeleyDB-3.3.11/lib/libdb.a -lm -lutil -lpthread -lexc'

-- 
Martin Mokrejs <mmokrejs@natur.cuni.cz>, <m.mokrejs@gsf.de>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About