Front page | perl.64bit |
Postings from April 2009
Perl-5.10 build problem on Solaris 10 x86
From:
Unixronin
Date:
April 26, 2009 18:21
Subject:
Perl-5.10 build problem on Solaris 10 x86
Message ID:
49F50882.5030807@metrocast.net
Greetings all,
Hoping to find a solution to a Perl build problem here. I'm trying to
build a threaded 64-bit Perl on Solaris 5.10 x86, on a box with dual
Irwindale Xeons. (The supplied Perl packages are compiled 32-bit only.)
I'm building with gnu coreutils, binutils-2.19 and gcc-4.3.3, locally
bootstrapped for i686-pc-solaris2.10, with the following Configure
invocation:
./Configure -Dcc=gcc -Duselargefiles -Duse64bitint -Dusemorebits
-Dusethreads -Duseithreads -Uusemymalloc -Uusenm -Accflags="-mtune=nocona"
This succeeds in creating a valid and correctly-linked 64-bit miniperl:
babylon4:root:/netstore/src/perl-5.10.0:10 # file miniperl
miniperl: ELF 64-bit LSB executable AMD64 Version 1, dynamically
linked, not stripped, no debugging information available
babylon4:root:/netstore/src/perl-5.10.0:11 # ldd miniperl
libsocket.so.1 => /lib/64/libsocket.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libdl.so.1 => /lib/64/libdl.so.1
libm.so.2 => /lib/64/libm.so.2
libpthread.so.1 => /lib/64/libpthread.so.1
libc.so.1 => /lib/64/libc.so.1
libgen.so.1 => /lib/64/libgen.so.1
libmp.so.2 => /lib/64/libmp.so.2
libmd.so.1 => /lib/64/libmd.so.1
libscf.so.1 => /lib/64/libscf.so.1
libdoor.so.1 => /lib/64/libdoor.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
But all is not well in Paradise:
[...]
`sh cflags "optimize='-O'" opmini.o` -fPIC -DPERL_EXTERNAL_GLOB opmini.c
CCCMD = gcc -DPERL_CORE -c -D_REENTRANT -fno-strict-aliasing
-pipe -I/usr/local/include -I/usr/sfw/include -I/opt/sfw/include -m64
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV
-mtune=nocona -O -Wall -W -Wextra -Wdeclaration-after-statement
-Wendif-labels -Wc++-compat
LD_LIBRARY_PATH=/netstore/src/perl-5.10.0 gcc -m64
-L/usr/local/lib/amd64 -L/usr/local/lib -L/usr/sfw/lib/amd64
-L/usr/sfw/lib -L/opt/sfw/lib/amd64 -L/opt/sfw/lib -o miniperl \
`echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o
util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o
scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o
universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o
locale.o pp_pack.o pp_sort.o | sed 's/ op.o / /'` \
miniperlmain.o opmini.o -lsocket -lnsl -ldl -lm -lpthread -lc
LD_LIBRARY_PATH=/netstore/src/perl-5.10.0 ./miniperl -w -Ilib
-MExporter -e '<?>' || make minitest
LD_LIBRARY_PATH=/netstore/src/perl-5.10.0 ./miniperl -Ilib configpm
Segmentation Fault - core dumped
make: *** [lib/Config.pod] Error 139
I've tried without success to build Insight on this platform (it's old
and not really supported any more), and haven't enough chops with cli
gdb to be able to isolate the problem. I've determined with truss that
miniperl is dying with an out-of-bounds fault shortly after opening
configpm, immediately after closing strict.pm:
6600: read(3, " # ! . / m i n i p e r l".., 4096) = 4096
6600: stat("lib/strict.pmc", 0xFFFFFD7FFFDFD440) Err#2 ENOENT
6600: stat("lib/strict.pm", 0xFFFFFD7FFFDFD3A0) = 0
6600: open("lib/strict.pm", O_RDONLY) = 4
6600: ioctl(4, TCGETA, 0xFFFFFD7FFFDFD160) Err#25 ENOTTY
6600: lseek(4, 0, SEEK_CUR) = 0
6600: brk(0x00750AE0) = 0
6600: brk(0x00754AE0) = 0
6600: read(4, " p a c k a g e s t r i".., 4096) = 3716
6600: brk(0x00754AE0) = 0
6600: brk(0x00758AE0) = 0
6600: brk(0x00758AE0) = 0
6600: brk(0x0075CAE0) = 0
6600: lseek(4, 878, SEEK_SET) = 878
6600: lseek(4, 0, SEEK_CUR) = 878
6600: close(4) = 0
6600: Incurred fault #6, FLTBOUNDS %pc = 0x004BCF03
6600: siginfo: SIGSEGV SEGV_MAPERR addr=0x004BCF03
6600: Received signal #11, SIGSEGV [default]
6600: siginfo: SIGSEGV SEGV_MAPERR addr=0x004BCF03
And that's as far as I've been able to get. In my efforts thus far to
diagnose the problem, I've already tried turning off both threads and
64-bitness, to no avail.
Does anyone have any insights to share on how to resolve this problem?
Has anyone else here previously encountered such a problem?
--
Phil Stracchino, CDK#2 DoD#299792458 ICBM: 43.5607, -71.355
alaric@caerllewys.net alaric@metrocast.net phil@co.ordinate.org
Renaissance Man, Unix ronin, Perl hacker, Free Stater
It's not the years, it's the mileage.
-
Perl-5.10 build problem on Solaris 10 x86
by Unixronin