Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 68341 - perl-5.8.4 uses -lpthread even when built w/o threading; with glibc-2.3.4+ this breaks certain modules (e.g. Coro)
Summary: perl-5.8.4 uses -lpthread even when built w/o threading; with glibc-2.3.4+ th...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-20 20:52 UTC by Dmitry Kim
Modified: 2005-04-30 06:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Kim 2004-10-20 20:52:13 UTC
there is a patch in perl-5.8.4 and perl-5.8.4-r1 ebuilds, /usr/portage/dev-lang/perl/files/perl-5.8.4-prelink-lpthread.patch, which makes sure perl's `libswanted' includes `-lpthread'. the patch is applied even when perl is compiled without threading.
i use CPAN Coro module, and it worked ok with glibc-2.3.3 and perl-5.8.4. after upgrade to glibc-2.3.4, it breaks [perl segfaults when using Coro].

the problem can be cured by not applying the mentioned patch when building perl without threading. as far as i can tell, there is absolutely no need for this patch for nonthreaded perl anyway. suggested change to ebuild would be something like this:
--- /usr/portage/dev-lang/perl/perl-5.8.4-r1.ebuild     2004-10-15 19:37:46.000000000 +0400
+++ /usr/local/portage/dev-lang/perl/perl-5.8.4-r1.ebuild       2004-10-21 07:31:01.000000000 +0400
@@ -73,8 +73,10 @@
        # handling breaks.  Fixes bug #14380.
        # <rac@gentoo.org> (14 Feb 2003)
        # reinstated to try to avoid sdl segfaults 03.10.02
-       cd ${S}; epatch ${FILESDIR}/${P}-prelink-lpthread.patch
-
+       if use ithreads
+       then
+               cd ${S}; epatch ${FILESDIR}/${P}-prelink-lpthread.patch
+       fi
        # Patch perldoc to not abort when it attempts to search
        # nonexistent directories; fixes bug #16589.
        # <rac@gentoo.org> (28 Feb 2003)


Reproducible: Always
Steps to Reproduce:
1. perl -MCPAN -e'get Coro'
2. cd .cpan/build/Coro-1.0; perl Makefile.PL; make
Do you want to enable C context sharing (y/n) [y] y
<s>etjmp/longjump, <u>context, <i>rix or <l>inux? [l] u
3. make test

Actual Results:  
almost all test fail.


Expected Results:  
all test passed.


Portage 2.0.50-r11 (default-x86-2004.0, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.4.26)
=================================================================
System uname: 2.4.26 i686 Intel(R) Celeron(R) CPU 1.70GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 apm avi berkdb bitmap-fonts crypt doc encode f77 foomaticdb gd gdbm
gif gpm gtk2 imlib innodb jpeg kde libg++ libwww mad mbox mikmod mmx motif mpeg
mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime
readline sasl sdl skey slang spell sse ssl tcpd truetype unicode vhost x86 xml2
xmms xprint xv zlib"
Comment 1 Chris White (RETIRED) gentoo-dev 2004-10-20 21:57:47 UTC
perl re-assignment.
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2005-03-14 07:29:56 UTC
pthreads are posix threads - ithreads are perl threads. Two different creatures, two different threads.
Comment 3 Michael Cummings (RETIRED) gentoo-dev 2005-04-30 06:13:56 UTC
marking invalid - different kinds of threads