Posted on 2012-01-19 08:58:33.537538-08 by andrepietsch
Compilation Error
Hi,

I tried to compile perl on my linux machine with arm.

I get the following error in 5.14.2:
Creating Makefile.PL in dist/threads-shared for threads::shared Running Makefile.PL in dist/threads-shared ../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PER +L_CORE=1 LIBPERL _A=libperl.a LINKTYPE=dynamic Processing hints file hints/linux.pl Writing Makefile for threads::shared Writing MYMETA.yml make[1]: Entering directory `/mnt/array1/tmp/perl/perl-5.14.1/dist/threads-shared' make[1]: Leaving directory `/mnt/array1/tmp/perl/perl-5.14.1/dist/threads-shared' Making all in dist/threads-shared make all PERL_CORE=1 LIBPERL_A=libperl.a LINKTYPE=dynamic make[1]: Entering directory `/mnt/array1/tmp/perl/perl-5.14.1/dist/threads-shared' cp lib/threads/shared.pm ../../lib/threads/shared.pm ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -typemap ../../lib/ExtUtils/t +ypemap shared.x s > shared.xsc && mv shared.xsc shared.c gcc -c -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -fstack-protecto +r -D_LARGEFILE_S OURCE -D_FILE_OFFSET_BITS=64 -O2 -DVER +SION=\"1.37\" -DXS_VERSION=\"1.37\" -fPIC "-I../.." shared.c Running Mkbootstrap for threads::shared () chmod 644 shared.bs rm -f ../../lib/auto/threads/shared/shared.so gcc -shared -O2 -L/opt/lib -L/lib -L/usr/lib -fstack-protector shared.o -o ../../lib/auto/threads +/shared/shared.s o \ -lpthread \ chmod 755 ../../lib/auto/threads/shared/shared.so cp shared.bs ../../lib/auto/threads/shared/shared.bs chmod 644 ../../lib/auto/threads/shared/shared.bs make[1]: Leaving directory `/mnt/array1/tmp/perl/perl-5.14.1/dist/threads-shared' ./perl -f -Ilib pod/buildtoc --build-toc -q make: *** [pod/perltoc.pod] Segmentation fault


and the following error in 5.12.4

Running Makefile.PL in dist/threads-shared ../../miniperl Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIB +PERL_A=libperl.a LINKTYPE=dynamic Processing hints file hints/linux.pl Writing Makefile for threads::shared make[1]: Entering directory `/mnt/array1/tmp/perl/perl-5.12.4/dist/threads-shared' make[1]: Leaving directory `/mnt/array1/tmp/perl/perl-5.12.4/dist/threads-shared' Making all in dist/threads-shared make all PERL_CORE=1 LIBPERL_A=libperl.a LINKTYPE=dynamic make[1]: Entering directory `/mnt/array1/tmp/perl/perl-5.12.4/dist/threads-shared' cp shared.pm ../../lib/threads/shared.pm ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -typemap ../../lib/ExtUtils/t +ypemap shared.xs > shared.xsc && mv shared.xsc shared.c gcc -c -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -fstack-protecto +r -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.32\" -DXS_VERSION=\"1.32\" -fPIC +"-I../.." shared.c Running Mkbootstrap for threads::shared () chmod 644 shared.bs rm -f ../../lib/auto/threads/shared/shared.so gcc -shared -O2 -L/opt/lib -L/lib -L/usr/lib -fstack-protector shared.o -o ../../lib/auto/threads +/shared/shared.so \ -lpthread \ chmod 755 ../../lib/auto/threads/shared/shared.so cp shared.bs ../../lib/auto/threads/shared/shared.bs chmod 644 ../../lib/auto/threads/shared/shared.bs make[1]: Leaving directory `/mnt/array1/tmp/perl/perl-5.12.4/dist/threads-shared' ./perl -f -Ilib pod/buildtoc --build-toc -q *** stack smashing detected ***: ./perl terminated make: *** [pod/perltoc.pod] Aborted

What could be the reason for that?

Both times I use Configure with the following parameters:

./Configure -Dusethreads -Dprefix=/opt -Dcc=gcc -Dd_dlopen

and use the following libraries for compilation:

-lgdbm -lcrypt -lm -ldl -lpthread

Any hint would be appreciated.

Kind regards


Andre
Direct Responses: 13608 | Write a response
Posted on 2012-01-19 09:45:49.756082-08 by jdhedden in response to 13607
Re: Compilation Error
The problem you encountered has nothing to do with the threads::shared module: threads::shares just happens to be last module to be built when 'make' is run. In both cases you show, perl dies the first time it is attempting to run (which is when it tried to construct perltoc.pod).
Try going to the Public Perl Bug Tracker site to see if there are any bug reports similar to what you have found. If not, you can use the 'perlbug' script to file a bug report.
Direct Responses: Write a response
Perl Weekly newsletter
A free weekly newsletter for people who are busy to read all the blogs. click here to check it out.