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

Hi,

I am trying to install perl 5.10.0 with thread support. After running the configure step with the command

sh Configure -Dusethreads -Accflags=-DPERL_REENTRANT_MAXSIZE=65536 -Di +nstallprefix=/opt/perl -DDEBUGGING -Dusesocks

I am getting the following error while running make.

perl-5.10.0# make cc -L/usr/local/lib -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 gv.o: In function `Perl_amagic_call': /root/Installables/perl-5.10.0/gv.c:2047: undefined reference to `pthr +ead_getspecific' /root/Installables/perl-5.10.0/gv.c:2068: undefined reference to `pthr +ead_getspecific' gv.o: In function `Perl_gv_init': /root/Installables/perl-5.10.0/gv.c:264: undefined reference to `pthre +ad_getspecific' /root/Installables/perl-5.10.0/gv.c:277: undefined reference to `pthre +ad_getspecific' gv.o: In function `Perl_gv_autoload4': /root/Installables/perl-5.10.0/gv.c:726: undefined reference to `pthre +ad_getspecific' gv.o:/root/Installables/perl-5.10.0/gv.c:734: more undefined reference +s to `pthread_getspecific' follow util.o: In function `Perl_set_context': /root/Installables/perl-5.10.0/util.c:3325: undefined reference to `pt +hread_setspecific' util.o: In function `S_vdie_common': /root/Installables/perl-5.10.0/util.c:1261: undefined reference to `pt +hread_getspecific' /root/Installables/perl-5.10.0/util.c:1257: undefined reference to `pt +hread_getspecific' /root/Installables/perl-5.10.0/util.c:1266: undefined reference to `pt +hread_getspecific' /root/Installables/perl-5.10.0/util.c:1288: undefined reference to `pt +hread_getspecific' util.o: In function `Perl_write_to_stderr': /root/Installables/perl-5.10.0/util.c:1207: undefined reference to `pt +hread_getspecific' util.o:/root/Installables/perl-5.10.0/util.c:1225: more undefined refe +rences to `pthread_getspecific' follow perl.o: In function `S_parse_body': /root/Installables/perl-5.10.0/perl.c:2116: undefined reference to `SO +CKSinit' /root/Installables/perl-5.10.0/perl.c:2267: undefined reference to `pt +hread_getspecific' /root/Installables/perl-5.10.0/perl.c:2256: undefined reference to `pt +hread_getspecific' perl.o: In function `perl_parse': /root/Installables/perl-5.10.0/perl.c:1663: undefined reference to `pt +hread_getspecific' perl.o: In function `perl_fini': /root/Installables/perl-5.10.0/perl.c:1416: undefined reference to `pt +hread_key_delete' perl.o: In function `perl_construct': /root/Installables/perl-5.10.0/perl.c:437: undefined reference to `pth +read_getspecific' perl.o: In function `S_init_tls_and_interp': /root/Installables/perl-5.10.0/perl.c:180: undefined reference to `pth +read_setspecific' /root/Installables/perl-5.10.0/perl.c:164: undefined reference to `pth +read_key_create' /root/Installables/perl-5.10.0/perl.c:165: undefined reference to `pth +read_setspecific' perl.o: In function `perl_destruct': /root/Installables/perl-5.10.0/perl.c:599: undefined reference to `pth +read_getspecific' pp_hot.o: In function `Perl_pp_enter': /root/Installables/perl-5.10.0/pp_hot.c:1736: undefined reference to ` +pthread_getspecific' pp_hot.o: In function `Perl_pp_entersub': /root/Installables/perl-5.10.0/pp_hot.c:2702: undefined reference to ` +pthread_getspecific' /root/Installables/perl-5.10.0/pp_hot.c:2857: undefined reference to ` +pthread_getspecific' /root/Installables/perl-5.10.0/pp_hot.c:2648: undefined reference to ` +pthread_getspecific' pp_hot.o:/root/Installables/perl-5.10.0/pp_hot.c:1877: more undefined +references to `pthread_getspecific' follow sv.o: In function `perl_clone': /root/Installables/perl-5.10.0/sv.c:10957: undefined reference to `pth +read_setspecific' /root/Installables/perl-5.10.0/sv.c:11569: undefined reference to `pth +read_getspecific' /root/Installables/perl-5.10.0/sv.c:11576: undefined reference to `pth +read_getspecific' /root/Installables/perl-5.10.0/sv.c:11463: undefined reference to `pth +read_getspecific' sv.o: In function `do_mark_cloneable_stash': /root/Installables/perl-5.10.0/sv.c:10819: undefined reference to `pth +read_getspecific' /root/Installables/perl-5.10.0/sv.c:10829: undefined reference to `pth +read_getspecific' sv.o:/root/Installables/perl-5.10.0/sv.c:8272: more undefined referenc +es to `pthread_getspecific' follow pp.o: In function `Perl_pp_int': /root/Installables/perl-5.10.0/pp.c:2921: undefined reference to `floo +r' /root/Installables/perl-5.10.0/pp.c:2928: undefined reference to `ceil +' pp.o: In function `Perl_pp_sin': /root/Installables/perl-5.10.0/pp.c:2816: undefined reference to `sin' /root/Installables/perl-5.10.0/pp.c:2816: undefined reference to `sqrt +' /root/Installables/perl-5.10.0/pp.c:2820: undefined reference to `exp' /root/Installables/perl-5.10.0/pp.c:2816: undefined reference to `cos' /root/Installables/perl-5.10.0/pp.c:2824: undefined reference to `log' pp.o: In function `Perl_pp_atan2': /root/Installables/perl-5.10.0/pp.c:2803: undefined reference to `atan +2' pp.o: In function `Perl_pp_modulo': /root/Installables/perl-5.10.0/pp.c:1427: undefined reference to `floo +r' /root/Installables/perl-5.10.0/pp.c:1430: undefined reference to `floo +r' /root/Installables/perl-5.10.0/pp.c:1443: undefined reference to `fmod +' pp.o: In function `Perl_pp_pow': /root/Installables/perl-5.10.0/pp.c:1084: undefined reference to `pow' pp_ctl.o: In function `Perl_pp_leavewhen': /root/Installables/perl-5.10.0/pp_ctl.c:4299: undefined reference to ` +pthread_getspecific' /root/Installables/perl-5.10.0/pp_ctl.c:4291: undefined reference to ` +pthread_getspecific' pp_ctl.o: In function `Perl_pp_leavegiven': /root/Installables/perl-5.10.0/pp_ctl.c:3833: undefined reference to ` +pthread_getspecific' /root/Installables/perl-5.10.0/pp_ctl.c:3825: undefined reference to ` +pthread_getspecific' pp_ctl.o: In function `S_destroy_matcher': /root/Installables/perl-5.10.0/pp_ctl.c:3872: undefined reference to ` +pthread_getspecific' pp_ctl.o:/root/Installables/perl-5.10.0/pp_ctl.c:3706: more undefined +references to `pthread_getspecific' follow pp_pack.o: In function `S_pack_rec': /root/Installables/perl-5.10.0/pp_pack.c:3318: undefined reference to +`floor' /root/Installables/perl-5.10.0/pp_pack.c:3320: undefined reference to +`floor' pp_sort.o: In function `Perl_pp_sort': /root/Installables/perl-5.10.0/pp_sort.c:1502: undefined reference to +`pthread_getspecific' /root/Installables/perl-5.10.0/pp_sort.c:1731: undefined reference to +`pthread_getspecific' /root/Installables/perl-5.10.0/pp_sort.c:1683: undefined reference to +`pthread_getspecific' pp_sort.o: In function `S_sortcv_xsub': /root/Installables/perl-5.10.0/pp_sort.c:1822: undefined reference to +`pthread_getspecific' pp_sort.o: In function `S_sortcv': /root/Installables/perl-5.10.0/pp_sort.c:1754: undefined reference to +`pthread_getspecific' pp_sort.o:/root/Installables/perl-5.10.0/pp_sort.c:1794: more undefine +d references to `pthread_getspecific' follow collect2: ld returned 1 exit status make: *** [miniperl] Error 1

Any help will be appreciated.

Thanks,

D.Raghuram.

Replies are listed 'Best First'.
Re[1]: Error while installing perl with thread support
by Intrepid (Curate) on Feb 02, 2010 at 11:16 UTC

    Quick answer.

    That's a C problem, that is, it is make reporting the failure of a C compiler component (the linker, prob. gcc ld) and that's a failure of the build to be set up properly (in other words, configured)

    If we take a look at the linker command being echoed by make, we see cc -L/usr/local/lib -o miniperl [...] miniperlmain.o opmini.o

    No -lpthreads in there.

    Something has gone amiss with your configury of the build.