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