NetBSD Problem Report #40302
From www@NetBSD.org Tue Dec 30 21:46:22 2008
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id C678B63B8C6
for <gnats-bugs@gnats.netbsd.org>; Tue, 30 Dec 2008 21:46:22 +0000 (UTC)
Message-Id: <20081230214622.5036163B884@narn.NetBSD.org>
Date: Tue, 30 Dec 2008 21:46:22 +0000 (UTC)
From: cirnatdan@gmail.com
Reply-To: cirnatdan@gmail.com
To: gnats-bugs@NetBSD.org
Subject: Compiling pkgsrc perl on linux-amd64 with support for threads
X-Send-Pr-Version: www-1.0
>Number: 40302
>Category: pkg
>Synopsis: Compiling pkgsrc perl on linux-amd64 with support for threads
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Dec 30 21:50:00 +0000 2008
>Closed-Date: Sat Dec 27 03:29:48 +0000 2014
>Last-Modified: Sat Dec 27 03:29:48 +0000 2014
>Originator: Cirnat Dan
>Release:
>Organization:
home
>Environment:
Linux desktop 2.6.27-ARCH #1 SMP PREEMPT Sun Dec 21 09:13:30 UTC 2008 x86_64 Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz GenuineIntel GNU/Linux
>Description:
I am trying to compile perl5 on a fresh pkgsrc install. My linux distro is ArchLinux x86_64. (If I remember correctly, I had the same problem on a FreeBSD 7 machine).
The process fails with the following output:
#
:/usr/pkgsrc/lang/perl5$ bmake
#
=> Bootstrap dependency digest>=20010302: found digest-20080510
#
=> Bootstrap dependency tnftp-[0-9]*: found tnftp-20070806
#
===> Skipping vulnerability checks.
#
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
#
WARNING: To fix run: `/usr/pkg/sbin/download-vulnerability-list'.
#
===> Building for perl-5.10.0nb4
#
LD_LIBRARY_PATH=/usr/work/lang/perl5/work/perl-5.10.0 gcc -Wl,-R/usr/pkg/lib -L/usr/pkg/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 -lm -lcrypt -ldl -lnsl
#
util.o: In function `Perl_safesysmalloc':
#
util.c:(.text+0x22eb): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_safesysrealloc':
#
util.c:(.text+0x2ff3): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_safesyscalloc':
#
util.c:(.text+0x3683): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_warn_nocontext':
#
util.c:(.text+0x3bfd): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_warner_nocontext':
#
util.c:(.text+0x452d): undefined reference to `pthread_getspecific'
#
util.o:util.c:(.text+0x4883): more undefined references to `pthread_getspecific' follow
#
util.o: In function `Perl_set_context':
#
util.c:(.text+0x77a1): undefined reference to `pthread_setspecific'
#
util.o: In function `Perl_die_nocontext':
#
util.c:(.text+0x7a0d): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_mess_nocontext':
#
util.c:(.text+0x7b4d): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_form_nocontext':
#
util.c:(.text+0x7d0d): undefined reference to `pthread_getspecific'
#
util.o: In function `Perl_get_context':
#
util.c:(.text+0x117a): undefined reference to `pthread_getspecific'
#
mg.o: In function `Perl_sighandler':
#
mg.c:(.text+0x4d3): undefined reference to `pthread_getspecific'
#
mg.o:mg.c:(.text+0xdad): more undefined references to `pthread_getspecific' follow
#
perl.o: In function `perl_alloc':
#
perl.c:(.text+0x7b0d): undefined reference to `pthread_setspecific'
#
perl.c:(.text+0x7b40): undefined reference to `pthread_key_create'
#
perl.c:(.text+0x7b53): undefined reference to `pthread_setspecific'
#
perl.o: In function `perl_fini':
#
perl.c:(.text+0x603a): undefined reference to `pthread_key_delete'
#
sv.o: In function `Perl_sv_catpvf_mg_nocontext':
#
sv.c:(.text+0x705d): undefined reference to `pthread_getspecific'
#
sv.o: In function `perl_clone':
#
sv.c:(.text+0x101f8): undefined reference to `pthread_setspecific'
#
sv.o: In function `Perl_sv_catpvf_nocontext':
#
sv.c:(.text+0x1529d): undefined reference to `pthread_getspecific'
#
sv.o: In function `Perl_sv_setpvf_mg_nocontext':
#
sv.c:(.text+0x1552d): undefined reference to `pthread_getspecific'
#
sv.o: In function `Perl_sv_setpvf_nocontext':
#
sv.c:(.text+0x156ed): undefined reference to `pthread_getspecific'
#
sv.o: In function `Perl_newSVpvf_nocontext':
#
sv.c:(.text+0x158ed): undefined reference to `pthread_getspecific'
#
perlio.o: In function `PerlIO_vsprintf':
#
perlio.c:(.text+0x2ad): undefined reference to `pthread_getspecific'
#
perlio.o:perlio.c:(.text+0x10d3): more undefined references to `pthread_getspecific' follow
#
miniperlmain.o: In function `main':
#
miniperlmain.c:(.text+0x56): undefined reference to `pthread_atfork'
#
opmini.o: In function `Perl_load_module_nocontext':
#
opmini.c:(.text+0xe687): undefined reference to `pthread_getspecific'
#
collect2: ld returned 1 exit status
#
*** Error code 1
#
#
Stop.
#
bmake: stopped in /usr/work/lang/perl5/work/perl-5.10.0
#
*** Error code 1
#
#
Stop.
#
bmake: stopped in /usr/pkgsrc/lang/perl5
#
*** Error code 1
#
>How-To-Repeat:
cd /usr/pkgsr/lang/perl5
bmake
>Fix:
Compiling a non-threaded version.
(PKG_OPTIONS.perl= -threads)
>Release-Note:
>Audit-Trail:
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/40302: Compiling pkgsrc perl on linux-amd64 with support
for threads
Date: Sun, 7 Mar 2010 05:29:07 +0000
On Tue, Dec 30, 2008 at 09:50:00PM +0000, cirnatdan@gmail.com wrote:
> LD_LIBRARY_PATH=/usr/work/lang/perl5/work/perl-5.10.0 gcc -Wl,-R/usr/pkg/lib -L/usr/pkg/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 -lm -lcrypt -ldl -lnsl
> #
> util.c:(.text+0x22eb): undefined reference to `pthread_getspecific'
On the Linux box I have accessible right now, some pthread functions
are in libc but pthread_getspecific apparently requires -pthread or
-lpthread. Since neither of those appears on the link line above, it's
not surprising that it fails.
Probably the configure script is checking for pthread_self or
pthread_mutex_init or something that's in libc to figure out whether
it needs -pthread, and getting the wrong answer.
Can you paste the sections from the build log that report what it's
doing/finding about compiler flags for threads?
(Also, check with the latest perl just in case this was fixed in 5.10.1)
--
David A. Holland
dholland@netbsd.org
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/40302: Compiling pkgsrc perl on linux-amd64 with support
for threads
Date: Sun, 7 Mar 2010 05:39:00 +0000
On Sun, Mar 07, 2010 at 05:30:06AM +0000, David Holland wrote:
> On the Linux box I have accessible right now, some pthread functions
> are in libc but pthread_getspecific apparently requires -pthread or
> -lpthread. Since neither of those appears on the link line above, it's
> not surprising that it fails.
>
> Probably the configure script is checking for pthread_self or
> pthread_mutex_init or something that's in libc to figure out whether
> it needs -pthread, and getting the wrong answer.
>
> Can you paste the sections from the build log that report what it's
> doing/finding about compiler flags for threads?
>
> (Also, check with the latest perl just in case this was fixed in 5.10.1)
On the machine I cited, 5.10.1 comes up with -lpthread and miniperl
links ok. FWIW.
--
David A. Holland
dholland@netbsd.org
State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 07 Mar 2010 06:08:03 +0000
State-Changed-Why:
A question was asked...
State-Changed-From-To: feedback->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 27 Dec 2014 03:29:48 +0000
State-Changed-Why:
Feedback timeout. And Perl's changed enough since 2008 that there's no point
keeping this open.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.