Llew_Llaw_Gyffes has asked for the wisdom of the Perl Monks concerning the following question:

O Brethren,

I have a Perl building question, rather than a Perl usage one....

I have a new-to-me server, a dual-Xeon machine running Solaris 10 x86, upon which I am attempting to install Perl 5.10. I am trying to install with ithreads and maximal 64-bitness, using PerlIO, native fork() and native malloc(), but I have also tried disabling threads and 64-bit support to try to solve the problem (though the whole point of compiling my own Perl is to get 64-bitness; most of Solaris 10 x86 is compiled for the lowest possible common denominator).

I'm using a locally bootstrapped gcc 4.3.3, and mostly gnu userspace. I have verified correct operation of the compiler. All goes well up until linking miniperl, at which time the build dumps core:

`sh cflags "optimize='-O2'" opmini.o` -fPIC -DPERL_EXTERNAL_GLOB opmi +ni.c CCCMD = gcc -DPERL_CORE -c -D_REENTRANT -fno-strict-aliasin +g -pipe -I/usr/local/include -I/usr/sfw/include -I/opt/sfw/include -m +64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV +-mtune=nocona -O2 -Wall -W -Wextra -Wdeclaration-after-statement -We +ndif-labels -Wc++-compat LD_LIBRARY_PATH=/netstore/src/perl-5.10.0 gcc -L/usr/local/lib -L/usr/ +sfw/lib -L/opt/sfw/lib -m64 -o miniperl \ `echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o ut +il.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o sc +ope.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 -MExpor +ter -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

Has anyone else run into this problem before? More importantly, does anyone know a solution?

Replies are listed 'Best First'.
Re: SEGVs building Perl 5.10 on Solaris 10?
by Bloodnok (Vicar) on Apr 24, 2009 at 12:52 UTC
    Presumably, the applicable ulimits are not (too) restrictive ?

    If nothing else crops up, it might be worthwhile downloading & installing the SUNWscat package - which will give you extended crash analysis capability on the generated core file - which is a useful tool to have on a Solaris box anyway.

    If you're interested, I can recommend 'Panic! Unix System Crash Dump Analysis' by Drake & Brown - it does have a leaning toward (rather old, but nontheless pertinent) Solaris, but seeks to maintain a general approach - I got my copy, 2nd hand, via Amazon UK.

    Update:

    Added book ref.

    A user level that continues to overstate my experience :-))
      Applicable ulimits shouldn't be a problem, as I'm working as root at the moment. The SUNWscat pointer is a useful one, and I shall try it right away to see whether it sheds any light. Thanks. :)
        Presumably, you've already been down the truss(1M) road in an attempt to identify the root cause ...

        A user level that continues to overstate my experience :-))