Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 114371 - perl-5.8.7-r2 - DynaLoader.a linking issues break packages on amd64
Summary: perl-5.8.7-r2 - DynaLoader.a linking issues break packages on amd64
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: AMD64 Linux
: Highest major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
: 114392 114402 114425 114452 114469 114538 114591 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-12-03 10:37 UTC by Sandro Bonazzola (RETIRED)
Modified: 2005-12-09 02:07 UTC (History)
16 users (show)

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 Sandro Bonazzola (RETIRED) gentoo-dev 2005-12-03 10:37:50 UTC
looking at the logfile I've seen: 

make[4]: Entering directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/c/src'
gcc -Wall -fPIC -o libconf2xml.so -shared conf2xml.o perlxsi.o `perl
-MExtUtils::Embed -e ccopts -e ldopts`
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
/usr/lib/perl5/5.8.7/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a(DynaLoader.o):
relocation R_X86_64_32 against `a local symbol' can not be used when making a
shared object; recompile with -fPIC
/usr/lib/perl5/5.8.7/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: *** [libconf2xml.so] Error 1
make[4]: Leaving directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/c/src'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/c'
make[2]: *** [../c/src/libconf2xml.so] Error 2
make[2]: Leaving directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/python'
make[2]: Entering directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/bash'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings/bash'
make[1]: Leaving directory
`/var/tmp/portage/libconf-0.42.10/work/perl-Libconf-0.42.10/bindings'
>>> Test phase [enabled]: dev-util/libconf-0.42.10
>>> Test phase [check]: dev-util/libconf-0.42.10

**** Libconf tests ****
. successful test
_ skipped test
***********************
   * testing autologin ....... done
   * testing proxy .. done
   * testing ebuild . done
   * testing keyvalue ...... done
   * testing inittab .... done
   * testing group .... done
   * testing passwd .... done
   * testing smb.conf ...... done
   * testing resolv .. done
   * testing postfix .. done
   * testing ups.conf ... done
   * testing msec ... done
   * testing xf86config ... done
   * testing gdm.conf .. done
   * testing lilo.conf . done

**** Glueconf tests ****
. successful test
_ skipped test
***********************
   * testing autologin .... done
   * testing passwd .. done
   * testing resolv ..... done
   * testing shell ........ done
   * testing samba ....... done
   * testing ups .. done
   * testing postfix .. done
   * testing gdm .. done
   * testing inittab .... done
   * testing sshd_config ... done
   * testing hosts .. done
   * testing lilo . done
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
/usr/lib/perl5/5.8.7/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a(DynaLoader.o):
relocation R_X86_64_32 against `a local symbol' can not be used when making a
shared object; recompile with -fPIC
/usr/lib/perl5/5.8.7/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [libconf2xml.so] Error 1
make[2]: *** [all] Error 2

>>> Install libconf-0.42.10 into /var/tmp/portage/libconf-0.42.10/image/
category dev-util

But the ebuild doesn't exit with an error message and install everyting.





Reproducible: Always
Steps to Reproduce:
1. emerge libconf
2.
3.

Actual Results:  
libconf is emerged but the c bindings are broken.

Expected Results:  
libconf emerged with c bindings not broken

Portage 2.0.53 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r3,
2.6.14-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.14-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System version 1.12.0_pre11
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.16
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS=" -march=athlon64 -O2 -pipe -fforce-addr -ffast-math -msse2 -ftracer
-m3dnow "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env
/usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c
/etc/env.d"
CXXFLAGS=" -march=athlon64 -O2 -pipe -fforce-addr -ffast-math -msse2 -ftracer
-m3dnow "
DISTDIR="/home/ftp/distfiles"
FEATURES="autoconfig buildpkg buildsyspkg collision-protect confcache cvs
distlocks elog maketest parallel-fetching sandbox sfperms strict test userpriv"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://gentoo.osuosl.org/
http://mirror.ovh.net/gentoo-distfiles/ ftp://ftp.heanet.ie/pub/gentoo/
http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/
ftp://ftp.unina.it/pub/linux/distributions/gentoo http://gentoo.ngi.it
http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ "
LANG="it_IT.utf8"
LC_ALL="it_IT.utf8"
LINGUAS="it"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 7zip X a52 aac aalib acl alsa apache2 arts audiofile avi berkdb
bitmap-fonts bzip2 cairo canvas cdb cdparanoia cdr chroot cpudetection crypt
cups curl dba directfb dts dv dvd dynagraph emboss encode erandom esd exif expat
fam ffmpeg firefox flac foomaticdb gd gdbm ggi gif gimp gimpprint glibc-omitfp
glut gmp gnome gnutls gphoto2 gpm graphviz gstreamer gtk gtk2 guile idn ieee1394
imagemagick imlib ipv6 ithreads jbig jikes jpeg jpeg2k justify kde
kdeenablefinal lcms ldap libcaca libwww linuxthreads-tls lm_sensors
logitech-mouse logrotate lzo lzw lzw-tiff mad mailwrapper mbox mdb mhash mikmod
mmap mng motif mozsvg mp3 mpeg mpm-worker musicbrainz mysql ncurses nls nptl
nptlonly numeric nvidia odbc offensive ogg opengl pam pcre pcsc-lite pdflib perl
php png ppds python qt quicktime readline rtc samba scanner sdl slang smp snmp
speex spell ssl svg sysfs tcltk tcpd test tetex tga theora threads tiff timidity
truetype truetype-fonts type1-fonts udev unicode usb userlocales utf8 vda vorbis
wmf xine xinerama xml2 xmms xpm xv xvid zlib linguas_it userland_GNU
kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, MAKEOPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-12-03 23:18:51 UTC
*** Bug 114392 has been marked as a duplicate of this bug. ***
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2005-12-03 23:27:54 UTC
*** Bug 114402 has been marked as a duplicate of this bug. ***
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-12-03 23:33:08 UTC
Hmmm, there's something wrong w/ last perl update, breaks many ebuilds. :/
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2005-12-04 03:31:16 UTC
*** Bug 114425 has been marked as a duplicate of this bug. ***
Comment 5 Tony Vroon (RETIRED) gentoo-dev 2005-12-04 03:56:02 UTC
Just to confirm that this occurs with non-ricer CFLAGS too:
Portage 2.0.53 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r3,
2.6.15-rc4-git2-ck1 x86_64)
=================================================================
System uname: 2.6.15-rc4-git2-ck1 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.12.0_pre11
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.16
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer"
DISTDIR="/store/distfiles"
FEATURES="autoaddcvs autoconfig cvs distlocks sandbox sfperms sign"
GENTOO_MIRRORS="ftp://ftp.heanet.ie/pub/gentoo/"
LC_ALL="en_IE.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/cvs/gentoo-x86"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 16bit S3TC X a52 aac aalib acpi adns aim alsa ao aotuv apache2
audacious audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2
cairo cddb cdio cdparanoia cdr crypt cups curl dbus dpms dts dvd dvdr ecc eds
elf emboss encode erandom ethereal evo exif expat fam fat fbcon fbsplash ffmpeg
fftw firefox flac fmod foomaticdb fpx freetype ftp gcj gd gdbm gif glitz glut
gnome gnome-print gnomecanvas gnutls gpm gstreamer gtk gtk2 gtkhtml gzip hal
howl icq id3 idn ieee1394 imagemagick imap imlib imlib2 inifile ipv6 irc java
jce john jp2 jpeg jpeg2k kerberos lame lcms ldap libcaca libsamplerate libwww
lirc lm_sensors logrotate lzo lzw lzw-tiff mad matroska md5sum mhash mikmod
mjpeg mmap mng mod mozsvg mp3 mpeg mpeg2 mpeg4 mplayer musepack musicbrainz
ncurses network nls no-old-linux nptl nsplugin ntlm nvidia ogg oggvorbis openal
opengl openssl oscar pam pccts pcre pdflib perl physfs png pnp python quicktime
rar rdesktop readline real recode ruby sdl sensord silc sndfile speex spell ssl
stencil-buffer svg svgz symlink sysfs tcltk theora tiff timidity transcode
truetype truetype-fonts type1-fonts udev unicode ups usb v4l2 vcd vorbis wifi
wmf xanim xine xinerama xml2 xpm xprint xsl xslt xv xvid xvmc yahoo yv12
zeroconf zip zlib zvbi userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2005-12-04 09:05:59 UTC
*** Bug 114452 has been marked as a duplicate of this bug. ***
Comment 7 S.M. Barbie 2005-12-04 10:47:20 UTC
I encountered the same problems after upgrading perl to 5.8.7.
I found the following solution on my amd64 machine:

Add -fPIC to your CFLAGS , then emerge perl.

As far as I understood it and a quick glance at the ebuild also told me, this
should be normally set by the ebuild itself. For whatever reason it seems not to
work as expected though.

After that you can compile other modules that want to link against Dynaloader.
Comment 8 Tom Martin (RETIRED) gentoo-dev 2005-12-04 10:55:44 UTC
Unfortunately, this isn't an acceptable solution. Not everything should be
compiled with -fPIC in all situations, so it cannot be forced in the ebuild. The
Makefile needs to be patched.
Comment 9 Herbie Hopkins (RETIRED) gentoo-dev 2005-12-04 11:48:23 UTC
It seems that the ${PN}-picdl.patch has been commented out from the
perl-5.8.7-r2 ebuild, any reason for this? Uncommenting this patch again
resolves this problem here.
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2005-12-04 12:13:23 UTC
*** Bug 114469 has been marked as a duplicate of this bug. ***
Comment 11 Harm Geerts 2005-12-04 18:11:29 UTC
There is no mention about why the patch is removed in the Changelog.
This was entered when the patch was first applied

*perl-5.8.2-r1 (29 Nov 2003)

  29 Nov 2003; <rac@gentoo.org> perl-5.8.2-r1.ebuild,
  files/perl-5.8.2-picdl.patch:
  Make CCCDLFLAGS apply to static archives like DynaLoader.a as well, even
  though we are not building a shared libperl here, because we do have a shared
  library elsewhere. Should make it so that arches like amd64 and hppa no longer
  have to add -fPIC to all cflags blindly.
Comment 12 Michael Cummings (RETIRED) gentoo-dev 2005-12-05 06:38:10 UTC
The picdl patch was commented out locally while trying to troubleshoot issues
that it causes (segfaulting on really large regex's). Sorry for the typo in the
committed version, resync and you will be happy again.
Comment 13 Michael Cummings (RETIRED) gentoo-dev 2005-12-05 06:41:08 UTC
*** Bug 114288 has been marked as a duplicate of this bug. ***
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2005-12-05 08:08:07 UTC
*** Bug 114538 has been marked as a duplicate of this bug. ***
Comment 15 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-12-05 11:58:35 UTC
I think we need a revbump stabilising in order to propagate this fix to systems 
that have already upgraded. 
Comment 16 AJ Armstrong 2005-12-05 16:37:53 UTC
(In reply to comment #15)
> I think we need a revbump stabilising in order to propagate this fix to systems 
> that have already upgraded. 

Yes.  Yes, you do.
Comment 17 AJ Armstrong 2005-12-05 16:40:16 UTC
Re-opening to ask that there be a rev bump.  This fix requires a rebuild of perl
on affected systems.
Comment 18 Jakub Moc (RETIRED) gentoo-dev 2005-12-05 23:20:38 UTC
*** Bug 114591 has been marked as a duplicate of this bug. ***
Comment 19 Michael Cummings (RETIRED) gentoo-dev 2005-12-06 03:36:49 UTC
I'll bump it - but only systems that couldn't emerge in the first place are
affected. Boxes that didn't have problems will be bumping yet again.
Comment 20 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-12-06 06:00:59 UTC
They could emerge perl, but stuff using DynaLoader.a couldn't emerge. So IMHO 
it definitely needs a revision bump. My system currently fails on some packages 
until I emerge perl again. 
Comment 21 Michael Cummings (RETIRED) gentoo-dev 2005-12-06 08:27:57 UTC
if you can hold on a few hours, perl's about to get bumped again anyway because
of an incomplete security fix 
Comment 22 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-12-06 12:33:07 UTC
The bump has fixed the issue and I have marked it stable on amd64. 
Comment 23 Sandro Bonazzola (RETIRED) gentoo-dev 2005-12-09 02:07:06 UTC
Verified, works fine for me.