Tue Jul 13 02:03:57 2010: Request 59224 was acted upon. Transaction: Correspondence added by emanuel.reisin...@ils.at Queue: PAR-Packer Subject: AW: [rt.cpan.org #59224] make error with version 1.006 on aix 5.3 Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: emanuel.reisin...@ils.at Status: open Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=59224 >
Yes it's a AIX 5.3 (technical level 10) AIX linker option -bE includes an export file of shared library listing the global symbols. FYI: http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/getstart/new_features.htm Yes that's right I'm using a 32bit Perl installation on a 64bit hardware and kernel. But that should doesn't matter. That's a development host and all target hosts may have not a 64bit environment, so I've to use the 32bit version. Here are the debugging information: # dbx par (dbx) stop at 134 [1] stop at "main.c":134 (dbx) run -I../blib/lib -q -B -O../script/parldyn [1] stopped in main at line 134 in file "main.c" ($t1) 134 exitstatus = perl_parse(my_perl, par_xs_init, argc + options_count - 1, fakeargv, (char **)NULL); (dbx) where main(argc = 5, argv = 0x2ff22bdc, env = 0x2ff22bf4), line 134 in "main.c" (dbx) dump main(argc = 5, argv = 0x2ff22bdc, env = 0x2ff22bf4), line 134 in "main.c" argno = 4 exitstatus = -559038737 i = 5 __func__ = "main" (dbx) p my_perl 0x3000fb78 (dbx) p par_xs_init par_xs_init (dbx) p argc 5 (dbx) p options_count 4 (dbx) p fakeargv[0] "par" (dbx) p fakeargv[1] "-e" (dbx) p fakeargv[2] "#!/usr/bin/perl\neval 'exec /usr/bin/perl -S $0 ${1+"$@"}'\n if 0; # not running under some shell\n\npackage __par_pl;\n\n# --- This script must not use any modules at compile time ---\n# use strict;\n\n#line 158\n\nmy ($par_temp, $progname, @tmpfile);\nEND { if ($ENV{PAR_CLEAN}) {\n require File::Temp;\n require File::Basename;\n require File::Spec;\n my $topdir = File::Basename::dirname($par_temp);\n outs(qq{Removing files in "$par_temp"});\n File::Find::finddepth(sub { ( -d ) ? rmdir : unlink }, $par_temp);\n rmdir $par_temp;\n # Don't remove topdir because this causes a race with other apps\n # that are trying to start.\n\n if (-d $par_temp && $^O ne 'MSWin32') {\n # Something went wrong unlinking the temporary directory. This\n # typic [truncated] (dbx) p fakeargv[3] "--" (dbx) p fakeargv[4] "-I../blib/lib" (dbx) p fakeargv[5] "-q" (dbx) p fakeargv[6] "-B" (dbx) p fakeargv[7] "-O../script/parldyn" (dbx) n program terminated by signal 9 (dbx) quit Execution of perl_parse at line 134 of myldr/main.c terminates myldr/par with signal 9. This error occur in perl v5.12.1 and AIX 5.3 default perl package v5.8.2 Here is the make output of perl v5.8.2: cp lib/PAR/Packer.pm blib/lib/PAR/Packer.pm cp lib/PAR/StrippedPARL/Base.pm blib/lib/PAR/StrippedPARL/Base.pm cp lib/PAR/Filter/PodStrip.pm blib/lib/PAR/Filter/PodStrip.pm cp lib/PAR/Filter/Obfuscate.pm blib/lib/PAR/Filter/Obfuscate.pm cp lib/App/Packer/PAR.pm blib/lib/App/Packer/PAR.pm cp lib/PAR/Filter.pm blib/lib/PAR/Filter.pm cp lib/PAR/StrippedPARL/Dynamic.pm blib/lib/PAR/StrippedPARL/Dynamic.pm cp lib/PAR/Filter/PatchContent.pm blib/lib/PAR/Filter/PatchContent.pm cp lib/PAR/Filter/Bytecode.pm blib/lib/PAR/Filter/Bytecode.pm cp lib/pp.pm blib/lib/pp.pm cp lib/PAR/Filter/Bleach.pm blib/lib/PAR/Filter/Bleach.pm cp lib/PAR/StrippedPARL/Static.pm blib/lib/PAR/StrippedPARL/Static.pm make[1]: Entering directory `/tmp/.cpan/build/PAR-Packer-1.006/myldr' perl sha1.c.PL sha1.c cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -I/usr/opt/p erl5/lib/5.8.2/aix-thread-multi/CORE -DPARL_EXE=\"parl\" -O main.c perl ./file2c.pl ../script/par.pl my_par_pl.c load_my_par_pl 0 cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -I/usr/opt/p erl5/lib/5.8.2/aix-thread-multi/CORE -DPARL_EXE=\"parl\" -O my_par_pl.c cc_r main.o my_par_pl.o -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/ 5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/C ORE/perl.exp -brtl -b32 -bmaxdata:0x80000000 /usr/opt/perl5/lib/5.8.2/aix-thread-mu lti/auto/DynaLoader/DynaLoader.a -L/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE -l perl -lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW -o ./par perl -e1 perl ./file2c.pl ./par my_par.c load_my_par 0 30000 perl ./file2c.pl /usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/libperl.a my_libperl .c load_my_libperl 0 30000 cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -I/usr/opt/p erl5/lib/5.8.2/aix-thread-multi/CORE -DPARL_EXE=\"parl\" -O static.c cc_r static.o -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/o pt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-t hread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.ex p -brtl -b32 -bmaxdata:0x80000000 /usr/opt/perl5/lib/5.8.2/aix-thread-multi/auto/Dy naLoader/DynaLoader.a -L/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE -lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW -o ./static perl -e1 perl parlsig.pl ./static ./par 1 30000 perl run_with_inc.pl ./static -I../blib/lib -q -B -O../script/parl perl -e "chmod(oct('0600'), '../blib/lib/PAR/StrippedPARL/Static.pm');" perl encode_append.pl ./static ../blib/lib/PAR/StrippedPARL/Static.pm perl -e "chmod(oct('0444'), '../blib/lib/PAR/StrippedPARL/Static.pm');" perl run_with_inc.pl ./par -I../blib/lib -q -B -O../script/parldyn make[1]: Leaving directory `/tmp/.cpan/build/PAR-Packer-1.006/myldr' ./par: execution of ./par failed - aborting with -1. BEGIN failed--compilation aborted at -e line 966. system failed: exit=1792 error= at run_with_inc.pl line 6. make[1]: *** [../script/parldyn] Error 7 make: *** [subdirs] Error 2 Directory PAR-Packer-1.006/script includes -rwxr-xr-x 1 2000 2000 29524 Jun 13 19:10 par.pl -rwxr-xr-x 1 root system 3191047 Jul 12 14:16 parl -rwxr-xr-x 1 2000 2000 4413 Jun 13 19:10 parl.pod -rwxr-xr-x 1 2000 2000 63 Jun 13 19:10 pp -rwxr-xr-x 1 2000 2000 28825 Jun 13 19:10 tkpp Cheers, Emanuel -----Ursprüngliche Nachricht----- Von: RSCHUPP via RT [mailto:bug-par-pac...@rt.cpan.org] Gesendet: Montag, 12. Juli 2010 10:06 An: Reisinger Emanuel Betreff: [rt.cpan.org #59224] make error with version 1.006 on aix 5.3 <URL: https://rt.cpan.org/Ticket/Display.html?id=59224 > On 2010-07-12 00:57:27, emanuel.reisin...@ils.at wrote: This is AIX, right? Sorry, I can't help you there because I don't have access to such a machine. Also, CPAN Testers doesn't have a history of anyone having built PAR::Packer there. Anyway, here are some general remarks: The warnings "ld: 0711-319 WARNING: Exported symbol not defined" for the command > cc -q32 static.o -bE:/usr/opt/perl5/lib/5.12.1/aix/CORE/perl.exp > -brtl -bdynamic -L/usr/local/lib -b32 -bmaxdata:0x80000000 > -L/usr/opt/perl5/lib/5.12.1/aix/CORE -lbind -lnsl -ldl -lld -lm > -lcrypt -lc -o ./static are probably harmless. But that's just a guess, because I don't know the meaning of AIX-specific options like -bE:... Anyway this is a standalone executable that uses only standard C library fucntions. ./par (built 3 commands eralier) is another matter. This is actually a special purpose Perl interpreter. But compiling and linking it seems to have been successful. But it looks like your using a 32bit Perl installation in a 64bit user space? Try debugging ./par, you probably need to rebuild it first with debugging enabled. At least run ./par under a debugger and try to get a stack trace or something. Cheers, Roderich