Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 18129

Summary: vim-6.1-r21 won't build if perl is emerged with threading enabled
Product: Gentoo Linux Reporter: Derek Dolney <z23>
Component: [OLD] DevelopmentAssignee: Vim Maintainers <vim>
Status: RESOLVED FIXED    
Severity: normal CC: kkrizka, krl, moth, robert.buzna, ryansg, t35t0r
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---

Description Derek Dolney 2003-03-24 22:28:13 UTC
If perl (I used perl-5.8.0-r10) is emerged with threading enabled, then
vim-6.1-r21 won't build. It dies at linking with error messages like:

objects/if_perl.o(.text+0x62d0): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Tstack_base_ptr'
objects/if_perl.o(.text+0x62f1): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Gthr_key_ptr'
objects/if_perl.o(.text+0x6303): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Tstack_sp_ptr'
objects/if_perl.o(.text+0x6318): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Gthr_key_ptr'
objects/if_perl.o(.text+0x632a): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Tstack_base_ptr'
objects/if_perl.o(.text+0x6338): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Gthr_key_ptr'
objects/if_perl.o(.text+0x635f): In function `XS_VIM_DoCommand':
: undefined reference to `Perl_Gthr_key_ptr'
objects/if_perl.o(.text+0x638b): In function `xs_init':
: undefined reference to `Perl_Gthr_key_ptr'
objects/if_perl.o(.text+0x63c1): In function `xs_init':
: undefined reference to `Perl_Gthr_key_ptr'

There are many more than this---it filled my terminal history!

Reproducible: Always
Steps to Reproduce:
1.USE=threads emerge perl-5.8.0-r10
2.emerge vim-6.1-r21
3.

Actual Results:  
Linking errors above.


Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r3)
=================================================================
System uname: 2.4.20-gentoo-r2 i686 AMD Athlon(tm) Processor
GENTOO_MIRRORS=" ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo
http://csociety-ftp.ecn.purdue.edu/pub/gentoo/
http://194.83.57.7/sites/www.ibiblio.org/gentoo/"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="directfb aalib nas ggi perl esd -arts -avi -berkdb -crypt -cups -encode
-imlib -kde -libg++ -libwww -mikmod -motif -nls -oggvorbis -oss -pam -python -qt
-qtmt -sdl -slang -ssl -svga -tcpd -xmms x86 3dnow alsa apm bonobo gdbm gif gnome
gpm gtk gtk2 java jpeg maildir mmx mozilla mpeg ncurses opengl pdflib pic png
quicktime readline spell tcltk tetex truetype X xml2 xv zlib"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O3 -fomit-frame-pointer -pipe"
CXXFLAGS="-march=athlon-tbird -O3 -fomit-frame-pointer -pipe"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache userpriv usersandbox"
Comment 1 Derek Dolney 2003-03-24 22:29:41 UTC
BTW, I vim-6.1-r20.ebuild didn't have this problem.
Comment 2 Seemant Kulleen (RETIRED) gentoo-dev 2003-03-25 02:54:23 UTC
as the message in perl's ebuild states (paraphrasing here), you enable "thread" at your OWN risk, we don't support any breakages it might cause.
Comment 3 Manuel McLure 2004-07-30 17:21:09 UTC
This is easy to resolve - just make sure that libperl is merged with the same threading USE flags as perl. The errors listed are caused by having a libperl built without threading and a perl built with.
Comment 4 Ciaran McCreesh 2005-04-05 10:55:47 UTC
*** Bug 87875 has been marked as a duplicate of this bug. ***
Comment 5 Ciaran McCreesh 2005-04-18 10:32:52 UTC
*** Bug 89553 has been marked as a duplicate of this bug. ***
Comment 6 Ciaran McCreesh 2005-04-22 09:12:31 UTC
*** Bug 90044 has been marked as a duplicate of this bug. ***
Comment 7 Ciaran McCreesh 2005-04-22 09:13:26 UTC
Reassigning this to vim@ so that I can actually find it...
Comment 8 Ciaran McCreesh 2005-04-22 09:14:12 UTC
The fix if you see this lot is to rebuild perl and libperl with the same USE flags.
Comment 9 Ciaran McCreesh 2005-05-28 00:54:05 UTC
*** Bug 94235 has been marked as a duplicate of this bug. ***
Comment 10 Kaarel Kitsemets 2005-08-16 23:59:33 UTC
I have the same problem, except that when I recompile libperl and perl with the
same USE flags and then trying to recompile vim, it still gives me the same
error. When I first installed my system, I compiled vim with USE="minimal" and
now USE="-minimal" gives me these errors. 

#emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.3-20050110,
glibc-2.3.5-r1, 2.6.12-gentoo-r6 i686)
=================================================================
System uname: 2.6.12-gentoo-r6 i686 Intel(R) Celeron(TM) CPU                1000MHz
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium3 -fforce-addr -momit-leaf-frame-pointer
-fomit-frame-pointer -ftracer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -fforce-addr -momit-leaf-frame-pointer
-fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.du.se/pub/os/gentoo ftp://mirror.pudas.net/gentoo
ftp://ftp.linux.ee/pub/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acpi alsa apache2 apm arts bash-completion bcmath berkdb bzlib calendar
crypt cscope dbase doc eds emboss encode fastcgi firebird flash foomaticdb
fortran freetds ftp gd gdbm gif gstreamer hardenedphp imagemagick imlib innodb
ipv6 java jpeg lcms libg++ libwww mikmod milter motif mysql mysqli nas ncurses
nls nocd nptl oav odbc ogg pam pcre pdflib perl php png postgres python
quicktime readline samba sasl sdl session slang spell spl sqlite ssl tcpd
tokenizer truetype truetype-fonts type1-fonts userlocales vhosts vorbis x86 xml
xml2 xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 11 Kaarel Kitsemets 2005-08-17 15:37:52 UTC
Sorry, my mistake. There was a typo in /etc/portage/package.use and libperl was
compiled without 'ithreads' same time as perl was compiled with 'ithreads'.
Comment 12 Robert Buzna 2006-03-18 15:10:37 UTC
*** Bug 126657 has been marked as a duplicate of this bug. ***
Comment 13 Ciaran McCreesh 2006-04-05 00:33:20 UTC
*** Bug 128768 has been marked as a duplicate of this bug. ***