[grand-rapids-pm-list] Perl 5.005_03 64-bit Compile

Al Tobey albert.tobey at priority-health.com
Thu Jul 14 09:35:58 PDT 2005


Hey Scot,

You need a few changes to your method of compiling to get this to work.
We're actually about halfway done with an upgrade to a 64 bit perl 5.8.6
here, so I've already seen a lot of this stuff.   perl5.005_03 is very
old and will require some more effort to get it to compile 64 bit.
Perl's build system has improved quite a bit over the last six years.
You can also try perl 5.005_04 which is a minimal maintenance release
that fixes a few security and build bugs in '03.  
http://www.cpan.org/src/5.0/maint/perl5.005_04.tar.gz

Try this with perl5.005_04.  I tested it on HP-UX 11.11 and it built and
passed a good portion of "make test".   If you use GDBM_File, DB_File,
or NDBM_File, you will have to build 64-bit versions of BerkeleyDB and
gdbm (I had to do this for 5.8.6).   NDBM_File can link against gdbm on
most platforms.   What I do for perl is configure them to install
in /opt/perl-$VERSION/local then instruct the compiler and linker to
look there (change -Dldflags to include -L/opt/perl-$VERSION/local/lib
and ccflags to do -I/opt/perl-$VERSION/local/include).

./Configure -der \
        -Dprefix=/opt/perl5.005_04-64 \
	-Dinstallprefix=/opt/perl5.005_04-64 \
	-Duselargefiles \
	-Dcf_by="Scot Sroka" \
	-Ui_gdbm -Ui_ndbm -Ui_db \
	-Uusemallocwrap \
	-Dccflags="+DD64 -Aa -D_HPUX_SOURCE -I/usr/local/include" \
	-Dldflags="-L/lib/pa20_64 +DD64 -L/usr/local/lib" \
	-Dlibs="-lpthread -lcl -lnsl -lnm -ldld -lm -lc"

I had to edit the Makefile and remove the ODBM_File part:
dynamic_ext =   lib/auto/B/B.sl lib/auto/Data/Dumper/Dumper.sl lib/auto/Fcntl/Fcntl.sl lib
/auto/IO/IO.sl lib/auto/IPC/SysV/SysV.sl lib/auto/ODBM_File/ODBM_File.sl lib/auto/Opcode/O
pcode.sl lib/auto/POSIX/POSIX.sl lib/auto/SDBM_File/SDBM_File.sl lib/auto/Socket/Socket.sl
 lib/auto/attrs/attrs.sl lib/auto/re/re.sl

dynamic_ext =   lib/auto/B/B.sl lib/auto/Data/Dumper/Dumper.sl lib/auto/Fcntl/Fcntl.sl lib
/auto/IO/IO.sl lib/auto/IPC/SysV/SysV.sl lib/auto/Opcode/Opcode.sl lib/auto/POSIX/POSIX.sl
 lib/auto/SDBM_File/SDBM_File.sl lib/auto/Socket/Socket.sl lib/auto/attrs/attrs.sl lib/aut
o/re/re.sl

Good luck,
-Al Tobey

On Thu, 2005-07-14 at 10:41 -0400, Sroka, Scot wrote:
> Hello!
> 
>  
> 
> I need to compile a 64-bit perl 5.005_03 on HP-UX 11.11, PA-RISC 2.0.
> Seems that perl versions following 5.005_03 have severe performance
> problems with certain types of regular expressions. (See
> http://rt.perl.org/rt3/Ticket/Display.html?id=24936) My company has
> tripped upon this issue and most of our scripts run at least twice as
> long. I have a 32-bit version of 5.005_03, but need a 64-bit version
> because the scripts are also hitting memory limits. I followed the
> README.hpux file with no luck and even tried using the compile options
> from the 64-bit 5.8.3 provided by HP (which in turn is provided by
> ActiveState). Things go along just fine for a while during the make
> until I get the following error:
> 
>  
> 
>     cc  -L/lib/pa20_64 -o miniperl miniperlmain.o libperl.a -lcres -
> lnsl -lnm -ldl -ldld -lm -lsec -lc 
> 
> /usr/ccs/bin/ld: miniperlmain.o: Mismatched ABI. 64-bit PA object file
> found in 32-bit link.
> 
> *** Error exit code 1
> 
>  
> 
> Stop.
> 
>  
> 
>  
> 
> At this point I’m pretty lost. I know how to spell “make”, and that’s
> about it. Has anybody successfully compiled a 64-bit 5.005_03? Any
> recommendations?
> 
>  
> 
> Thanks for your help.
> 
>  
> 
> Scot Sroka
> 
>  
> 
> 
> _______________________________________________
> grand-rapids-pm-list mailing list
> grand-rapids-pm-list at pm.org
> http://mail.pm.org/mailman/listinfo/grand-rapids-pm-list



- end -



More information about the grand-rapids-pm-list mailing list