Hello, PAR Community!

    At last I have tested static perl with PAR - as
 Autrijus mentioned several months ago
 (it's back to my idea to build statically linked
 executables using PAR). I build new 5.8.0 perl
 on my PC Linux (Slackware 9.0, 2.4.21, GNU libc 2.3.1) box and
 install it to /opt/staticperl. Then I build
 all needfull modules for PAR, and two of them
 required 'perl' reinstaling by it's own build
 (Compress::Zlib and Digest::SHA1). Then I try
 to build PAR whithout any trics. Process failed.
 Let's take a look at SNIP1:

 After this I added -static (LDFLAGS)
 Process failed. Let's take a look at SNIP2.

    What do you think? Is this possible to build
 statically linked executables using PAR and
 build PAR themself statically linked or not?
 Or I made mistaks during procedure?
 Any ideas?


==SNIP1==


[EMAIL PROTECTED]:/usr/local/src/CPAN/PAR/PAR-0.75# make
cp lib/App/Packer/PAR.pm blib/lib/App/Packer/PAR.pm
cp lib/PAR/Heavy.pm blib/lib/PAR/Heavy.pm
cp lib/PAR.pm blib/lib/PAR.pm
cp lib/PAR/Intro.pod blib/lib/PAR/Intro.pod
make[1]: Entering directory `/usr/local/src/CPAN/PAR/PAR-0.75/myldr'
cc -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  
-I/opt/staticperl/lib/5.8.0/i686-linux/CORE  main.c
/opt/staticperl/bin/perl ./file2c.pl ../script/par.pl my_par_pl.c load_me_2 1
cc -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  
-I/opt/staticperl/lib/5.8.0/i686-linux/CORE  my_par_pl.c
ld main.o my_par_pl.o  -s   -L/usr/local/lib 
/opt/staticperl/lib/5.8.0/i686-linux/auto/DynaLoader/DynaLoader.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/B/B.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/ByteLoader/ByteLoader.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Cwd/Cwd.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/DB_File/DB_File.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Data/Dumper/Dumper.a
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/DProf/DProf.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/PPPort/PPPort.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/Peek/Peek.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Digest/MD5/MD5.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Encode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Byte/Byte.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/CN/CN.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/EBCDIC/EBCDIC.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/JP/JP.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/KR/KR.a
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Symbol/Symbol.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/TW/TW.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Unicode/Unicode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Fcntl/Fcntl.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/File/Glob/Glob.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Filter/Util/Call/Call.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/GDBM_File/GDBM_File.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/I18N/Langinfo/Langinfo.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/IO/IO.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/IPC/SysV/SysV.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/List/Util/Util.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/MIME/Base64/Base64.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Opcode/Opcode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/POSIX/POSIX.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/PerlIO/encoding/encoding.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/PerlIO/scalar/scalar.a /opt/stati!
 cperl/lib/5.8.0/i686-linux/auto/PerlIO/via/via.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/SDBM_File/SDBM_File.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Socket/Socket.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Storable/Storable.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Sys/Hostname/Hostname.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Sys/Syslog/Syslog.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Time/HiRes/HiRes.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Unicode/Normalize/Normalize.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/attrs/attrs.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/re/re.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/threads/threads.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/threads/shared/shared.a 
-L/opt/staticperl/lib/5.8.0/i686-linux/CORE -lperl -lnsl -lgdbm -ldb -ldl -lm -lc 
-lcrypt -lutil -L/usr/local/lib -ldb -lgdbm -lm --output par
/opt/staticperl/lib/5.8.0/i686-linux/auto/POSIX/POSIX.a(POSIX.o)(.text+0x50c9): In 
function `XS_POSIX_tmpnam':
: the use of `tmpnam' is dangerous, better use `mkstemp'
ld: warning: cannot find entry symbol _start; defaulting to 000000000804c440
./par -I"/usr/local/src/CPAN/PAR/PAR-0.75/inc" 
-I"/opt/staticperl/lib/5.8.0/i686-linux" -I"/opt/staticperl/lib/5.8.0" 
-I"/opt/staticperl/lib/site_perl/5.8.0/i686-linux" 
-I"/opt/staticperl/lib/site_perl/5.8.0" -I"/opt/staticperl/lib/site_perl" 
-I"/usr/local/src/CPAN/PAR/PAR-0.75" -I"." -I../myldr/..
-I../blib/lib -B -O../script/parl
/bin/sh: line 1: ./par: No such file or directory
make[1]: *** [../script/parl] Error 127
make[1]: Leaving directory `/usr/local/src/CPAN/PAR/PAR-0.75/myldr'
make: *** [subdirs] Error 2

[EMAIL PROTECTED]:/usr/local/src/CPAN/PAR/PAR-0.75/myldr# ldd par
/usr/bin/ldd: line 1: ./par: No such file or directory


==/SNIP1==
==SNIP2==

ld main.o my_par_pl.o  -s -static 
/opt/staticperl/lib/5.8.0/i686-linux/auto/DynaLoader/DynaLoader.a
/opt/staticperl/lib/5.8.0/i686-linux/auto/B/B.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/ByteLoader/ByteLoader.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Cwd/Cwd.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/DB_File/DB_File.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Data/Dumper/Dumper.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/DProf/DProf.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/PPPort/PPPort.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Devel/Peek/Peek.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Digest/MD5/MD5.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Encode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Byte/Byte.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/CN/CN.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/EBCDIC/EBCDIC.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/JP/JP.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/KR/KR.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Symbol/Symbol.a 
/opt/staticperl/lib/5.8.0/i686-linu!
 x/auto/Encode/TW/TW.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Encode/Unicode/Unicode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Fcntl/Fcntl.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/File/Glob/Glob.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Filter/Util/Call/Call.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/GDBM_File/GDBM_File.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/I18N/Langinfo/Langinfo.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/IO/IO.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/IPC/SysV/SysV.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/List/Util/Util.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/MIME/Base64/Base64.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Opcode/Opcode.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/POSIX/POSIX.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/PerlIO/encoding/encoding.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/PerlIO/scalar/scalar.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/PerlIO/via/via.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/SDBM_Fil!
 e/SDBM_File.a /opt/staticperl/lib/5.8.0/i686-linux/auto/Socket!
 /Socket.
a /opt/staticperl/lib/5.8.0/i686-linux/auto/Storable/Storable.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Sys/Hostname/Hostname.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Sys/Syslog/Syslog.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/Time/HiRes/HiRes.a
/opt/staticperl/lib/5.8.0/i686-linux/auto/Unicode/Normalize/Normalize.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/attrs/attrs.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/re/re.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/threads/threads.a 
/opt/staticperl/lib/5.8.0/i686-linux/auto/threads/shared/shared.a 
-L/opt/staticperl/lib/5.8.0/i686-linux/CORE -lperl -lnsl -lgdbm -ldb -ldl -lm -lc 
-lcrypt -lutil -ldb -lgdbm -lm --output par
/opt/staticperl/lib/5.8.0/i686-linux/auto/POSIX/POSIX.a(POSIX.o)(.text+0x50c9): In 
function `XS_POSIX_tmpnam':
: the use of `tmpnam' is dangerous, better use `mkstemp'
ld: warning: cannot find entry symbol _start; defaulting to 0000000008048080
/opt/staticperl/lib/5.8.0/i686-linux/CORE/libperl.a(perlio.o)(.text+0x38b8): In 
function `PerlIOMmap_map':
: undefined reference to `__divdi3'
/usr/lib/libc.a(tempname.o)(.text+0x2d8): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(tempname.o)(.text+0x2fd): In function `__gen_tempname':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(tempname.o)(.text+0x31d): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(tempname.o)(.text+0x343): In function `__gen_tempname':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(tempname.o)(.text+0x363): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(tempname.o)(.text+0x389): In function `__gen_tempname':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(tempname.o)(.text+0x3a9): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(tempname.o)(.text+0x3cf): In function `__gen_tempname':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(tempname.o)(.text+0x3ef): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(tempname.o)(.text+0x415): In function `__gen_tempname':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(tempname.o)(.text+0x431): In function `__gen_tempname':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(utmp_file.o)(.text+0xcda): In function `pututline_file':
: undefined reference to `__moddi3'
/usr/lib/libc.a(utmp_file.o)(.text+0xf40): In function `updwtmp_file':
: undefined reference to `__moddi3'
/usr/lib/libc.a(strtoull.o)(.text+0x109): In function `__strtoull_internal':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(strtoull.o)(.text+0x12d): In function `__strtoull_internal':
: undefined reference to `__umoddi3'
/usr/lib/libc.a(strtoll.o)(.text+0x109): In function `__strtoll_internal':
: undefined reference to `__udivdi3'
/usr/lib/libc.a(strtoll.o)(.text+0x12d): In function `__strtoll_internal':
: undefined reference to `__umoddi3'
make[1]: *** [par] Error 1
make[1]: Leaving directory `/usr/local/src/CPAN/PAR/PAR-0.75/myldr'
make: *** [subdirs] Error 2



==/SNIP2==

-- 

Best regards, 

Vladimir Yu. Tereshchenko               [Registered Linux UIN #198978]
TNU, Centre of Computer Technology      ICQ UIN: 73046562

Reply via email to