Looks like partial success. The shared library is no longer required on standalone binaries, but the standalones won't work on older machines (eg, machines with glibc version < 2.3). Here's what I did:
I installed the newest snapshot: [EMAIL PROTECTED] partest]$ grep $PAR::VERSION /usr/lib/perl5/site_perl/5.8.3/PAR.pm $PAR::VERSION = '0.81'; Then I made a new standalone (let me know if you'd like 'pp -v' output as well) and moved it to the target host, as before: [EMAIL PROTECTED] partest]$ mv test test.old [EMAIL PROTECTED] partest]$ pp -o test.new test.pl [EMAIL PROTECTED] partest]$ ls -l test* -rwxr-xr-x 1 wrhodes wrhodes 4699702 May 5 15:33 test.new -rwxr-xr-x 1 wrhodes wrhodes 4704641 May 5 14:08 test.old -rw-rw-r-- 1 wrhodes wrhodes 44 May 5 14:06 test.pl [EMAIL PROTECTED] partest]$ file test.new test.new: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped [EMAIL PROTECTED] partest]$ scp test.new csecal1:/tmp [EMAIL PROTECTED]'s password: test.new 100% 4589KB 730.3KB/s 00:06 [EMAIL PROTECTED] partest]$ So now I go run it: [EMAIL PROTECTED]:/tmp $ ls -l test.new -rwx------ 1 wrhodes staff 4699702 May 5 15:36 test.new [EMAIL PROTECTED]:/tmp $ file test.new test.new: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped [EMAIL PROTECTED]:/tmp $ [EMAIL PROTECTED]:/tmp $ ./test.new ./test.new: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by ./test.new) Looks like I have an older version of glibc: [EMAIL PROTECTED]:/tmp $ rpm -q glibc glibc-2.2.5-44 But it works on the build host: [EMAIL PROTECTED] partest]$ ./test.new Hellow world. [EMAIL PROTECTED] partest]$ rpm -q glibc glibc-2.3.2-101.4 So I try it on another, more modern host that doesn't have perl but has a newer glibc: [EMAIL PROTECTED] partest]$ scp test.new corvus:/tmp [EMAIL PROTECTED]'s password: test.new 100% 4589KB 730.7KB/s 00:06 [EMAIL PROTECTED] partest]$ ssh corvus [EMAIL PROTECTED]'s password: [EMAIL PROTECTED]:~ $ cd /tmp [EMAIL PROTECTED]:/tmp $ uname -a; cat /etc/redhat-release Linux corvus.ucsd.edu 2.4.22-1.2188.nptl #1 Wed Apr 21 20:36:05 EDT 2004 i686 i686 i386 GNU/Linux Fedora Core release 1 (Yarrow) [EMAIL PROTECTED]:/tmp $ rpm -q glibc glibc-2.3.2-101.4 [EMAIL PROTECTED]:/tmp $ ls -l test.new -rwx------ 1 wrhodes staff 4699702 May 5 15:41 test.new [EMAIL PROTECTED]:/tmp $ file test.new test.new: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped [EMAIL PROTECTED]:/tmp $ ./test.new Hellow world. So I guess we're in business as long as I use a modern host as the target. Trouble is, we have a lot of old Red Hat 7.3 machines laying around. Is there any way to tell it to expect a certain version of glibc? -B On Wed, 5 May 2004, Autrijus Tang via RT wrote: > Full context and any attached attachments can be found at: > <URL: http://rt.cpan.org/NoAuth/Bug.html?id=6236 > > > On Wed, May 05, 2004 at 05:35:33PM -0400, Bill Rhodes via RT wrote: > > I've got the latest version of PAR (0.80), and experience no other trouble > > vis-a-vis perl. > > This is a known problem and has been addressed in the latest snapshot: > > http://p4.elixus.org/snap/PAR.tar.gz > > Please give it a thorough test, so I can be sure it does not regress > when released as PAR 0.81. > > Thanks, > /Autrijus/ >
