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



Reply via email to