Subject: | PAR::Packer 1.002 on HPUX 11.23 PA-RISC issue |
Date: | Thu, 7 Jan 2010 14:36:34 +0800 |
To: | bug-PAR-Packer [...] rt.cpan.org |
From: | chen shenyou <chenshenyou [...] gmail.com> |
on pa-risc hpux, the pp compiled binary is not a perl independent
executable.
the pp installation is successful(with cpan), the detail test steps:
# cat test.pl
print "hello world\n";
# pp -o test test.pl
# ls -l test
-rwxr-xr-x 1 root sys 3638157 Jan 6 23:10 test
# ./test
hello world
# mv /opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/libperl.sl/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/libperl.sl.backup
# ./test
/usr/lib/dld.sl: Can't open shared library:
/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/libperl.sl
/usr/lib/dld.sl: No such file or directory
Abort(coredump)
The problem is the binary looks for the hard-coded path of libperl.sl.
Here is the detail env info:
---
# uname -a
HP-UX xxxx B.11.23 U 9000/800 1045550765 unlimited-user license
# swlist | grep -i perl
perl D.5.8.8.B 5.8.8 Perl Programming
Language
# perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=hpux, osvers=11.00, archname=PA-RISC1.1-thread-multi
uname='hp-ux bertha b.11.00 u 9000800 136901587 unlimited-user license '
config_args='-ders -Dcc=cc -Dusethreads -Duseithreads -Ud_sigsetjmp
-Uinstallusrbinperl -Ulocincpth= -Uloclibpth= -Dsh=/usr/bin/sh
-Dd_attribut=undef -Dd_attribute_warn_unused_result=undef
-Dd_u32align=define -Aprepend:libswanted=cl -Dvendorprefix=/opt/perl_32
-Darchname=PA-RISC1.1 -Doptimize=-fast +Onolimit +Opromote_indirect_calls
+DAportable +DS2.0 -Accflags=+Z -Accflags=-DUSE_SITECUSTOMIZE
-Duselargefiles -Accflags=-DNO_HASH_SEED -Dprefix=/opt/perl_32
-Dinc_version_list=5.8.7/$archname 5.8.7 5.8.6/$archname 5.8.6
5.8.4/$archname 5.8.4 5.8.3/$archname 5.8.3 5.8.2/$archname 5.8.2
5.8.1/$archname 5.8.1 5.8.0/$archname 5.8.0 -Dsed=/usr/bin/sed
-Dconfig_heavy=Config_static.pl -Dcf_by=ActiveState
-Dcf_email=support@ActiveState.com'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae
-D_HPUX_SOURCE -Wl,+vnocompatwarnings +Z -DUSE_SITECUSTOMIZE -DNO_HASH_SEED
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
optimize='-fast +Onolimit +Opromote_indirect_calls +DAportable +DS2.0',
cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L
-D_REENTRANT -D_HPUX_SOURCE -Wl,+vnocompatwarnings +Z -DUSE_SITECUSTOMIZE
-DNO_HASH_SEED'
ccversion='B.11.X.32509-32512.GP', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
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, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags =''
libpth=/lib /usr/lib /usr/ccs/lib /usr/local/lib
libs=-lcl -lcres -lnsl -lnm -lndbm -lmalloc -ldld -lm -lcrypt -lsec
-lpthread -lc
perllibs=-lcl -lcres -lnsl -lnm -lmalloc -ldld -lm -lcrypt -lsec
-lpthread -lc
libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-B,deferred '
cccdlflags='+Z', lddlflags='-b +vnocompatwarnings'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 817.1 [268662]
Iin_load_module moved for compatibility with build 806
POSIX: Support the long hostname version of uname()
Avoid signal flag SA_RESTART for older versions of HP-UX
PerlEx support in CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
Patch for CAN-2005-0448 from Debian with modifications
Partly reverted 24733 to preserve binary compatibility
28671 Define PERL_NO_DEV_RANDOM on Windows
28376 Add error checks after execing PL_cshname or PL_sh_path
28305 Pod::Html should not convert "foo" into ``foo''
27736 Make perl_fini() run with Sun WorkShop compiler
27619 Bug in Term::ReadKey being triggered by a bug in
Term::ReadLine
27549 Move DynaLoader.o into libperl.so
27528 win32_pclose() error exit doesn't unlock mutex
27527 win32_async_check() can loop indefinitely
27515 ignore directories when searching @INC
27359 Fix -d:Foo=bar syntax
27210 Fix quote typo in c2ph
27203 Allow compiling swigged C++ code
27200 Make stat() on Windows handle trailing slashes correctly
27194 Get perl_fini() running on HP-UX again
27133 Initialise lastparen in the regexp structure
27034 Avoid "Prototype mismatch" warnings with autouse
26970 Make Passive mode the default for Net::FTP
26921 Avoid getprotobyname/number calls in IO::Socket::INET
26897,26903 Make common IPPROTO_* constants always available
26670 Make '-s' on the shebang line parse -foo=bar switches
26379 Fix alarm() for Windows 2003
26087 Storable 0.1 compatibility
25861 IO::File performace issue
25084 long groups entry could cause memory exhaustion
24699 ICMP_UNREACHABLE handling in Net::Ping
Built under hpux
Compiled at Sep 19 2006 13:51:08
@INC:
/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi
/opt/perl_32/lib/5.8.8
/opt/perl_32/lib/site_perl/5.8.8/PA-RISC1.1-thread-multi
/opt/perl_32/lib/site_perl/5.8.8
/opt/perl_32/lib/site_perl
/opt/perl_32/lib/vendor_perl/5.8.8/PA-RISC1.1-thread-multi
/opt/perl_32/lib/vendor_perl/5.8.8
/opt/perl_32/lib/vendor_perl