I wanted to build an awesome place for people to discuss module specific issues, but I don't have any more time for this, and there are much better places to discuss Perl-related issues. I'd recommend asking your question on Stack Overflow or on Perl Monks.
If you are looking for a Perl tutorial or Perl-related news, I hope these links will serve you well.
Posted on 2011-12-15 11:08:34.984369-08 by vitspinka
AIX 6.1 unpack without gcc installed
Hi, I have a very simple test script (ptest.pl): print "Hello world (#2)\n"; When I pack it with PAR, it works fine (using /usr/opt/perl5_64/bin/pp -o ptest1 ptest.pl). However, on a second machine, which has no gcc packages installed, I get error:
exec(): 0509-036 Cannot load program ./ptest1 because of the following errors: 0509-022 Cannot load module /tmp//par-oracle/cache-f907e3fd3cbac34f30bfbd367c5b7fdded738de0 +/libperl.a(libperl.o). 0509-150 Dependent module libgcc_s.a(shr.o) could not be loaded. 0509-022 Cannot load module libgcc_s.a(shr.o). 0509-026 System error: A file or directory in the path name does not exist. 0509-022 Cannot load module ptest1. 0509-150 Dependent module /tmp//par-oracle/cache-f907e3fd3cbac34f30bfbd367c5b7fdded738de0 +/libperl.a(libperl.o) could not be loaded. 0509-022 Cannot load module .
If I use -l to include the libgcc_s.a, it gets included; however, the issue seems to be a bit different: the /tmp/par-oracle directory contains only ptest1 and libperl.a, no other files are extracted.
I ran truss on the original machine (where it works) and on the "broken" (actually I don't have direct access to that, so I just rename the /opt/freeware directory to simulate the non-installation of gcc and all other non-IBM stuff). The difference in truss starts after the libperl.a and ptest1 are unpacked to /tmp/par-oracle/*:
*************** *** 527,538 **** kwrite(4, " i s _ u t f 8 _ X _ b e".., 30000) = 30000 kwrite(4, " e r\0 . X S _ D y n a L".., 2712) = 2712 close(4) = 0 ! chmod("/tmp//par-oracle/cache-ec39fc067e01ea6ea74329cd768e098ad676595b/libperl.a", 0755) = 0 ! execve("/tmp//par-oracle/cache-ec39fc067e01ea6ea74329cd768e098ad676595b/ptest1", 0x0FFFFFFFFFFFFB +F8, 0x000000011027B110) argc: 9 ! sbrk(0x00000000) = 0x30087DF0 ! vmgetinfo(0x2FF21AF0, 7, 16) = 0 ! sbrk(0x00000000) = 0x30087DF0 ! __libc_sbrk(0x00000000) = 0x30087DF0 getuidx(4) = 202 getuidx(2) = 202 getuidx(1) = 202 --- 527,837 ---- kwrite(4, " i s _ u t f 8 _ X _ b e".., 30000) = 30000 kwrite(4, " e r\0 . X S _ D y n a L".., 2712) = 2712 close(4) = 0 ! chmod("/tmp//par-oracle/cache-93f2179aab22275367a860fccbfe15ea150a5934/libperl.a", 0755) = 0 ! execve("/tmp//par-oracle/cache-93f2179aab22275367a860fccbfe15ea150a5934/ptest1", 0x0FFFFFFFFFFFFB +F8, 0x000000011027B110) argc: 1 ! kusla(2, 0x09FFFFFFF000BA38) Err#1 EPERM ! thread_init(0x09000000004FBF80, 0x09001000A015D1A8) = ! sbrk(0x0000000000000000) = 0x0000000010007798 ! vmgetinfo(0x0FFFFFFFFFFFF690, 7, 16) = 0 ! sbrk(0x0000000000000000) = 0x0000000010007798 ! vmgetinfo(0x0FFFFFFFFFFFF060, 7, 16) = 0 ! sbrk(0x0000000000000000) = 0x0000000010007798 ! sbrk(0x0000000000000008) = 0x0000000010007798 ! __libc_sbrk(0x0000000000010020) = 0x00000000100077A0
....and long long list of reading the PAR archive and writing the .pm and .so files.
Thanks for any ideas...
Vit
Direct Responses: 13573 | Write a response
Posted on 2011-12-15 23:15:07.812501-08 by roderich in response to 13572
Re: AIX 6.1 unpack without gcc installed
Please don't use this crappy CPAN::Forum, instead re-post your problem to the PAR mailing list which is the established discussion forum for PAR and PAR::Packer.

To do so, just send mail to par@perl.org or use Google Groups ("perl.par")

Cheers, Roderich
Direct Responses: Write a response