Subject: | install fail due to linking problem |
Added the asked-for info, below.
For some reason "XS.pm" seems to be truncating names to 8 characters which I am guessing is responsible for the rest of the failures.
Initially, when building this, it tried to link with a static 'libreadline.a' even though perl is dynamically linked. It gave the warnings about symbols being truncated and and had similar problems in testing.
Is truncating symbols to 8 chars the norm? I don't recall ever seeing this behavior before.
Thanks,
-l
---Asked-for info, below:
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=linux, osvers=3.12.0-isht-van, archname=x86_64-linux-thread-multi-ld
uname='linux ishtar 3.12.0-isht-van #1 smp preempt wed nov 13 16:50:51 pst 2013 x86_64 x86_64 x86_64 gnulinux '
config_args=''
hint=previous, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=define
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g -O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccversion='', gccversion='4.8.1 20130909 [gcc-4_8-branch revision 202388]', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
alignbytes=16, prototype=define
Linker and Libraries:
ld='gcc', ldflags ='-g -fstack-protector -fPIC'
libpth=/usr/lib64 /lib64
libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.18.so, so=so, useshrplib=true, libperl=libperl-5.16.3.so
gnulibc_version='2.18'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/home/perl/perl-5.16.3/lib/x86_64-linux-thread-multi-ld/CORE'
cccdlflags='-fPIC', lddlflags='-shared -g -O2 -fstack-protector -fPIC'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_LONG_DOUBLE USE_PERLIO
USE_PERL_ATOF USE_REENTRANT_API
Built under linux
Compiled at Jan 23 2014 00:35:49
%ENV:
PERL5LIB=""
PERL5OPT="-Mutf8 -CSA -I/home/law/bin/lib"
PERL5_CPANPLUS_IS_RUNNING="23799"
PERL5_CPAN_IS_RUNNING="23799"
@INC:
/home/law/bin/lib
/home/perl/perl-5.16.3/lib/site/x86_64-linux-thread-multi-ld
/home/perl/perl-5.16.3/lib/site
/home/perl/perl-5.16.3/lib/x86_64-linux-thread-multi-ld
/home/perl/perl-5.16.3/lib
.
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> perl Makefile.PL verbose
Found `/usr/lib64/libtermcap.so'.
gcc -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_STRING_H rlver.c -o rlver -g -fstack-protector -fPIC -lreadline -ltermcap
<<<It seems that you have the GNU Readline Library version 6.2.>>>
gcc -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_STRING_H -DTRG_READLINE_VERSION=0x0602 rlmalloc.c -o rlmalloc -g -fstack-protector -fPIC -lreadline -ltermcap
Checking if your kit is complete...
Looks good
ABSTRACT_FROM => q[Gnu.pm]
AUTHOR => [q[Hiroo HAYASHI <hiroo.hayashi@computer.org>]]
BUILD_REQUIRES => { }
CONFIGURE_REQUIRES => { }
DEFINE => q[-DHAVE_STRING_H -DTRG_READLINE_VERSION=0x0602]
EXE_FILES => [q[eg/perlsh]]
INC => q[]
LDDLFLAGS => q[ -shared -g -O2 -fstack-protector -fPIC]
LIBS => [q[ -lreadline -ltermcap]]
LICENSE => q[perl]
META_MERGE => { resources=>{ bugtracker=>q[http://rt.cpan.org/Public/Dist/Term-ReadLine-Gnu], homepage=>q[http://sourceforge.net/projects/perl-trg/], license=>q[http://dev.perl.org/licenses/], repository=>q[https://sourceforge.net/p/perl-trg/code/HEAD/tree/] } }
MIN_PERL_VERSION => q[5.008001]
NAME => q[Term::ReadLine::Gnu]
PREREQ_PM => { }
TEST_REQUIRES => { }
VERSION_FROM => q[Gnu.pm]
clean => { FILES=>q[rlver.c rlver rlmalloc.c rlmalloc] }
dist => { COMPRESS=>q[gzip -9f], SUFFIX=>q[gz] }
dynamic_lib => { OTHERLDFLAGS=>q[] }
Using PERL=/usr/bin/perl
Potential libraries are '-lreadline -ltermcap':
'-lreadline' found at /usr/lib64/libreadline.so.7.0
'-ltermcap' found at /usr/lib64/libtermcap.so.2.0.8
Generating a Unix-style Makefile
Writing Makefile for Term::ReadLine::Gnu
Writing MYMETA.yml and MYMETA.json
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> make test TEST_VERBOSE=1
cp Gnu.pm blib/lib/Term/ReadLine/Gnu.pm
cp Gnu/XS.pm blib/lib/Term/ReadLine/Gnu/XS.pm
AutoSplitting blib/lib/Term/ReadLine/Gnu/XS.pm (blib/lib/auto/Term/ReadLine/Gnu/XS)
blib/lib/Term/ReadLine/Gnu/XS.pm: some names are not unique when truncated to 8 characters:
directory blib/lib/auto/Term/ReadLine/Gnu/XS:
rl_bind_key.al, rl_bind_key_if_unbound.al, rl_bind_keyseq.al, rl_bind_keyseq_if_unbound.al truncate to rl_bind_
rl_set_keymap.al, rl_set_key.al truncate to rl_set_k
Running Mkbootstrap for Term::ReadLine::Gnu ()
chmod 644 "Gnu.bs"
"/usr/bin/perl" "/home/perl/perl-5.16.3/lib/site/ExtUtils/xsubpp" -typemap "/home/perl/perl-5.16.3/lib/ExtUtils/typemap" -typemap "typemap" Gnu.xs > Gnu.xsc && mv Gnu.xsc Gnu.c
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -DVERSION=\"1.35\" -DXS_VERSION=\"1.35\" -fPIC "-I/home/perl/perl-5.16.3/lib/x86_64-linux-thread-multi-ld/CORE" -DHAVE_STRING_H -DTRG_READLINE_VERSION=0x0602 Gnu.c
rm -f blib/arch/auto/Term/ReadLine/Gnu/Gnu.so
LD_RUN_PATH="/usr/lib64" gcc -shared -g -O2 -fstack-protector -fPIC Gnu.o -o blib/arch/auto/Term/ReadLine/Gnu/Gnu.so \
-lreadline -ltermcap \
chmod 755 blib/arch/auto/Term/ReadLine/Gnu/Gnu.so
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Gnu.bs blib/arch/auto/Term/ReadLine/Gnu/Gnu.bs 644
cp eg/perlsh blib/script/perlsh
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/perlsh
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00checkver.t ...
1..4
ok 1 - load done
# I'm testing Term::ReadLine::Gnu version 1.35
Cannot do `initialize' in Term::ReadLine::Gnu at t/00checkver.t line 31.
# Looks like you planned 4 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 3/4 subtests
t/callback.t .....
1..8
ok 1 - load done
Cannot do `initialize' in Term::ReadLine::Gnu at t/callback.t line 37.
# Looks like you planned 8 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 7/8 subtests
t/history.t ......
1..88
ok 1 - load done
# Testing Term::ReadLine::Gnu version 1.35
Cannot do `initialize' in Term::ReadLine::Gnu at t/history.t line 41.
# Looks like you planned 88 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 87/88 subtests
t/readline.t .....
1..147
ok 1 - load done
# Testing Term::ReadLine::Gnu version 1.35
Cannot do `initialize' in Term::ReadLine::Gnu at t/readline.t line 57.
# Looks like you planned 147 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 146/147 subtests
t/utf8_binary.t ..
1..12
ok 1 - load done
# I'm testing Term::ReadLine::Gnu version 1.35
ok 2 - skip
ok 3 - skip
ok 4 - skip
ok 5 - skip
ok 6 - skip
ok 7 - skip
ok 8 - skip
ok 9 - skip
ok 10 - skip
ok 11 - skip
ok 12 - skip
# PERL_UNICODE is defined or -C option is specified. Skipped...
ok
t/utf8_text.t ....
1..13
ok 1 - load done
# I'm testing Term::ReadLine::Gnu version 1.35
ok 2 - $Config{d_setlocale}
ok 3 - setlocale
# i: unix:perlio:encoding(utf-8-strict):utf8
ok 4 - input layers before 'new'
# o: unix:perlio:utf8:encoding(utf-8-strict):utf8
ok 5 - output layers before 'new'
Cannot do `initialize' in Term::ReadLine::Gnu at t/utf8_text.t line 105.
# Looks like you planned 13 tests but ran 5.
# Looks like your test exited with 25 just after 5.
Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 8/13 subtests
Test Summary Report
-------------------
t/00checkver.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 4 tests but ran 1.
t/callback.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 8 tests but ran 1.
t/history.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 88 tests but ran 1.
t/readline.t (Wstat: 65280 Tests: 1 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 147 tests but ran 1.
t/utf8_text.t (Wstat: 6400 Tests: 5 Failed: 0)
Non-zero exit status: 25
Parse errors: Bad plan. You planned 13 tests but ran 5.
Files=6, Tests=21, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.25 cusr 0.03 csys = 0.33 CPU)
Result: FAIL
Failed 5/6 test programs. 0/21 subtests failed.
Makefile:1067: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 25
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> perl -Mblib t/00checkver.t
1..4
ok 1 - load done
# I'm testing Term::ReadLine::Gnu version 1.35
Cannot do `initialize' in Term::ReadLine::Gnu at t/00checkver.t line 31.
# Looks like you planned 4 tests but ran 1.
# Looks like your test exited with 255 just after 1.
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> echo $TERM
linux
Ishtar:../Term-ReadLine-Gnu-1.35-yM0dmY> gcc --version
gcc (SUSE Linux) 4.9.0
Copyright (C) 2014 Free Software Foundation, Inc.