Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
When trying to build pyxf86config (as it's a dep of the HAL version in gentopia's overlay), the build fails this way: x86_64-pc-linux-gnu-gcc -shared .libs/pyxf86conf.o .libs/xf86config_ext.o /usr/lib64/libgmodule-2.0.so -L/usr/lib64 -ldl /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so -lxf86config -march=athlon64 -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--export-dynamic -Wl,-soname -Wl,ixf86configmodule.so -o .libs/ixf86configmodule.so /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libxf86config.a(Files.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib64/libxf86config.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [ixf86configmodule.la] Error 1 make: *** [all] Error 2 It's actually logical as /usr/lib64/libxf86config.so does not exist, the only copy available is the static archive, which is not build with PIC, at least with x11-base/xorg-server-1.4.0.90-r3 which is what I have installed. Robin what was your setup for this to build on amd64? PIE-enabled by chance?
Could you rebuild your xorg-server? There might've been a mistake in there for a little while where autoreconf didn't get run to make the library get built PIC.
I'm getting the same error and recompiling xorg-server did not solve the problem.
I can confirm that rebuilding xorg-server changes nothing.
And now it has escaped from the overlay and is hitting poor ~amd64 users :)
Seems like this bug is dependent on the USE flags being used since SNAPSHOT is set for some combinations. If SNAPSHOT is not set eautoreconf is not being run. This prevents Makefile .in from being regenerated.
Created an attachment (id=153835) [edit] [PATCH] Make ebuild to run eautoreconf Hi. I got the same error. I found that xorg-server-<ver>/hw/xfree86/parser/Makefile.am is patched by 1.4-fpic-libxf86config.patch to compile libxf86config with -fPIC, but we can't find this change in Makefile because the ebuild forget to run eautoreconf. Applying attached patch and rebuilding xorg-server could solve the problem.
(In reply to comment #6) tried you patch with xorg-server-1.4.0.90-r4 (it applied ok) and it didn't solve the problem for me :-(
(In reply to comment #7) > (In reply to comment #6) > > tried you patch with xorg-server-1.4.0.90-r4 (it applied ok) and it didn't > solve the problem for me :-( Excuse me, but I want to confirm some points. 1. My patch is for xorg-server-1.4.0.90-r3. Did you applied it to xorg-server-1.4.0.90-r4? 2. I think xorg-server-1.4.0.90-r4's KEYWORD is set "". Did you build xorg-server-1.4.0.90-r4? 3. Aren't there following message when you rebuild xorg-server? If not, maybe the patch is not applied correctly. <snip> * Applying xorg-server-1.4.0.90-automake-1.10.1-fixup.patch ... [ ok ] * Running eautoreconf in '/var/tmp/portage/x11-base/xorg-server-1.4.0.90-r3/work/xorg-server-1.4.0.90' ... * Running aclocal ... [ ok ] * Running libtoolize --copy --force --automake ... [ ok ] * Running aclocal ... [ ok ] * Running autoconf ... [ ok ] * Running autoheader ... [ ok ] * Running automake --add-missing --copy --foreign ... [ ok ] * Running elibtoolize in: xorg-server-1.4.0.90 * Applying portage-1.5.10.patch ... * Applying sed-1.5.6.patch ... >>> Source unpacked. >>> Compiling source in /var/tmp/portage/x11-base/xorg-server-1.4.0.90-r3/work/xorg-server-1.4.0.90 ... * econf: updating xorg-server-1.4.0.90/config.guess with /usr/share/gnuconfig/config.guess * econf: updating xorg-server-1.4.0.90/config.sub with /usr/share/gnuconfig/config.sub <snip>
(In reply to comment #8) > 1. My patch is for xorg-server-1.4.0.90-r3. Did you applied it to > xorg-server-1.4.0.90-r4? Yes, I really did. # wget -qO- 'http://bugs.gentoo.org/attachment.cgi?id=153835&action=view' | sed s/r3/r4/g | patch -p0 > 2. I think xorg-server-1.4.0.90-r4's KEYWORD is set "". Did you build > xorg-server-1.4.0.90-r4? Yes, I really did. # grep xorg-server /etc/paludis/keywords.conf x11-base/xorg-server * (1 of 4) Installing x11-base/xorg-server-1.4.0.90-r4:0::gentoo ... > 3. Aren't there following message when you rebuild xorg-server? If not, maybe > the patch is not applied correctly. There are; eautoreconf had been run.
This is so weird. I absolutely remember seeing this problem and fixing it before, but I cannot find any record of me doing so in the ChangeLog. I fixed it in 1.4.0.90-r3 and -r4, so you can fix it by rebuilding xorg-server. I'm pulling -r4 from package.mask soon, so that will ensure that everybody does rebuild, and I'm going to leave this bug open till then.
FYI ... you'll want hal 0.5.11 to require xorg-server 1.4.0.90-r4 as soon as I unmask it.
@dberkholz, you are thinking of bug #206989
Confirmed. The patch by Naohiro fixes the problem for me.
Indeed. Naohiro Aota's patch works fine for xorg-server-1.4.0.90-r3 here. Thanks.
It still doesn't work for me but I think this might be related to the fact I'm using Paludis instead of Portage. Strange though, because till now it didn't bring any trouble and I'm using it quite a while...
(In reply to comment #15) > It still doesn't work for me but I think this might be related to the fact I'm > using Paludis instead of Portage. Strange though, because till now it didn't > bring any trouble and I'm using it quite a while... > Do you have the "minimal" USE flag set? I did, which is what was causing libxf86config to not be installed, even though I'd applied the patch. This is the offending line in the ebuild: $(use_enable !minimal install-libxf86config) I just nuked that and substituted: --enable-install-libxf86config
(In reply to comment #16) Yes, this is it! Thanks.
I am getting following error when I do emerge world mv -f .deps/pyxf86conf.Tpo .deps/pyxf86conf.Plo /bin/sh ./libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -fvisibility=hidden -O2 -pipe -Wall -module -shared -avoid-version -o ixf86configmodule.la -rpath /usr/lib64/python2.4/site-packages pyxf86conf.lo xf86config_ext.lo -Wl,--export-dynamic -lgmodule-2.0 -ldl -lgobject-2.0 -lglib-2.0 -lxf86config x86_64-pc-linux-gnu-gcc -shared .libs/pyxf86conf.o .libs/xf86config_ext.o /usr/lib64/libgmodule-2.0.so -L/usr/lib64 -ldl /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so -lxf86config -Wl,--export-dynamic -Wl,-soname -Wl,ixf86configmodule.so -o .libs/ixf86configmodule.so /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libxf86config.a(Files.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib64/libxf86config.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [ixf86configmodule.la] Error 1 make[1]: Leaving directory `/var/tmp/portage/dev-python/pyxf86config-0.3.34-r1/work/pyxf86config-0.3.34' make: *** [all] Error 2 * * ERROR: dev-python/pyxf86config-0.3.34-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2836: Called die * The specific snippet of code: * emake || die "emake failed" * The die message: * emake failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/dev-python/pyxf86config-0.3.34-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/pyxf86config-0.3.34-r1/temp/environment'. * * Messages for package dev-python/pyxf86config-0.3.34-r1: * * ERROR: dev-python/pyxf86config-0.3.34-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2836: Called die * The specific snippet of code: * emake || die "emake failed" * The die message: * emake failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/dev-python/pyxf86config-0.3.34-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/pyxf86config-0.3.34-r1/temp/environment'. emerge --info Portage 2.1.4.4 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.7-r2, 2.6.23-gentoo-r3 x86_64) ================================================================= System uname: 2.6.23-gentoo-r3 x86_64 Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz Timestamp of tree: Thu, 29 May 2008 18:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.gtlib.gatech.edu/pub/gentoo http://www.gtlib.gatech.edu/pub/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ ftp://gentoo.chem.wisc.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo http://gentoo.netnitco.net ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/ http://mirror.espri.arizona.edu/gentoo/ http://mirrors.acm.cs.rpi.edu/gentoo/ ftp://ftp.ndlug.nd.edu/pub/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.llarian.net/ ftp://gentoo.llarian.net/pub/gentoo http://gentoo.binarycompass.org http://mirror.datapipe.net/gentoo ftp://mirror.datapipe.net/gentoo http://prometheus.cs.wmich.edu/gentoo http://modzer0.cs.uaf.edu/public/gentoo/ http://mirror.usu.edu/mirrors/gentoo/ ftp://mirror.usu.edu/mirrors/gentoo/ ftp://lug.mtu.edu/gentoo http://mirror.phy.olemiss.edu/mirror/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ ftp://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://ftp.wwc.edu/pub/mirrors/ftp.gentoo.org http://mirror.utdlug.org/linux/distributions/gentoo/ " MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl alsa amd64 berkdb cli cracklib crypt cups dbus dri gdbm gnome gpm gstreamer gtk hal iconv isdnlog jpeg ldap midi mmx mudflap ncurses nls nptl nptlonly nsplugin openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl svg tcpd unicode xorg" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fglrx" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
forgot to add in earlier comment made by me, what is the solution for that error ?
I added a check to die if USE=minimal is used on xorg-server into pkg_setup. I'm not completely sure that's the right way to go - definitely not if pkg_setup is called for binary package installations as well, as xorg-server matters only at build time (libxf86config.a is a static library that will be included with pyxf86config)
Maybe I am not reading the bug correctly, but dev-python/pyxf86config-0.3.34-r1 compiles just fine in my stable chroot so I am removing amd64@g.o from CC field. Please add us back if there is additional testing or whatnot needed. Thanks.
it isnt amd64 specific, just that it's the most likely to encounter the error (due to # of people using amd64 vs another arch)