| Summary: | >=sys-devel/binutils-2.15.92.0.2-r10 behaves incorrectly regarding -fPIC | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Drew Kirkpatrick <drew.kirkpatrick> |
| Component: | [OLD] Development | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
| Status: | RESOLVED NEEDINFO | ||
| Severity: | major | CC: | fade, greg_g, patrick |
| Priority: | High | ||
| Version: | 2005.0 | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
3 build logs for libxml2, which different binutils versions
libxml2 build log for binutils version 2.15.90 build log for libxml2 with binutils 2.15.92.0.2-r10 build log for libxml2 with binutils 2.16.1 |
||
|
Description
Drew Kirkpatrick
2005-09-16 07:16:45 UTC
which version of libxml2 are we talking about here? don't use gcc 3.3 on amd64 - it produces faulty code. if you use it anyway, we won't help you and just tell you to recompile your whole system with 3.4, so you could save some hours.. filing bugs is the only solution to this kind of problem btw, you can remove -fomit-frame-pointer from your CFLAGS, it won't do anything on amd64 By the way, the versions of libxml2 that I have this problem with is stable version dev-libs/libxml2-2.6.19 as well as ~amd64 version 2.6.22 okay, this works fine here with both versions. Why are you setting USE=pic but not using a hardened profile? You really shouldn't have that flag in your USE. also, what gcc-profile are you using? (use gcc-config -l to show it) Note that the pic USE flag has virtually no effect on amd64. I saw two packages where it turns of asm, all the rest only used that flag for x86 or !amd64. I've removed the pic USE keyword, and here's my compiler information: shadowcat(drew)> gcc-config -l [1] x86_64-pc-linux-gnu-3.3.3 [2] x86_64-pc-linux-gnu-3.4.4 * [3] x86_64-pc-linux-gnu-3.4.4-hardened [4] x86_64-pc-linux-gnu-3.4.4-hardenednopie [5] x86_64-pc-linux-gnu-3.4.4-hardenednopiessp [6] x86_64-pc-linux-gnu-3.4.4-hardenednossp shadowcat(drew)> Looks very similar to this supposedly kdebase bug (79711), which states that this is really a binutils bug. Proposed solution is to ditch the latest "stable" binutils, and go back to 2.15.90.0.1. Will be testing and reporting back on this today. Got it! Ok, downgrading binutils on amd64 to sys-devel/binutils-2.15.90.0.1.1-r5
gets libxml2 to compile cleanly. I've entered this into my package.mask to get
my system to compile correctly:
>=sys-devel/binutils-2.15.92.0.2-r10
So is something severely wrong with binutils-2.15.92.0.2-r10? This sounds like a
fairly common problem, although most of the postings I've seen about it revolve
around compiling kde...
Same issue compiling "net-libs/courier-authlib-0.57-r1" this evening (also amd64.) Just added =sys-devel/binutils-2.15.92.0.2-r10 to package.mask, emerge update on binutils (to downgrade), and courier-authlib still doesn't merge: Linking libauthpam.la /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libshadow.a(commonio.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /usr/lib64/libshadow.a(commonio.o): could not read symbols: Bad value collect2: ld returned 1 exit status emerge --info: Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo-r2 x86_64) ================================================================= System uname: 2.6.13-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 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.6 sys-devel/binutils: 2.15.90.0.1.1-r5 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -fomit-frame-pointer -fweb -frename-registers -pipe" 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/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -fomit-frame-pointer -fweb -frename-registers -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict userpriv" GENTOO_MIRRORS="http://distfiles.gentoo.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="amd64 X Xaw3d acpi alsa apache2 athena bash-completion berkdb bitmap-fonts ccache cdparanoia cli cracklib crypt ctype doc emacs encode exif fam gd gdbm gif gpm gtk gtk2 imagemagick imap innodb ithreads java jpeg maildir motif mp3 mpeg mpeg4 mpm-worker mysql mysqli ncurses nls no-htdocs nptl nvidia ogg oggvorbis opengl oss pam passfile pcre pdo-external pear perl php png readline rtc samba server session simplexml spell ssl threads tiff truetype truetype-fonts type1 type1-fonts usb xml xml2 xsl xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS gcc --version gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) More info: re-emerged shadow with the older binutils, and then courier-authlib emerged just fine with no errors. unable to reproduce at all you'll need to post a full build log with binutils-2.16.1 run `emerge libxml2 >& log` and post the log as an attachment I've already rebuilt my entire system with the older binutils (was in middle of emerge -e system && emerge -e world...) so I can't reproduce this now, anyone else still have the latest "stable" binutils who can reproduce this? If not, maybe when my system is done compiling I can re-emerge the new binutils and reproduce it quicky....Might take a while tho well get back to us please *** Bug 73931 has been marked as a duplicate of this bug. *** Created attachment 69480 [details]
3 build logs for libxml2, which different binutils versions
Ok, what I have is a 2005.0 system completely rebuilt with binutils 2.15.90.
I've logged the building of libxml2 with that (a simple rebuild), then I
emerged the current amd64 stable package of binutils 2.15.92.0.2-r10, and
repeated the emerging/logging of libxml2.
Strangley, now it compliles cleanly, which never happened WHILE is I was in the
process of my 2004.3->2005.0 migration, and the followup emerge -e system &&
emerge -e system && emerge -e world && emerge -e world. Therefore I don't know
if this will help you track down this most elusive of problems that seems to be
inflicting many people (just search for -fpic issues, seems to be in KDE a
bunch as well). I also logged the building of libxml2 with the ~amd64 binutils
2.16.1, which also cleanly compiled.
All logs are named with the version of binutils they were compiled against. I
did not recompile any other packages besides binutils and libxml2, so maybe
there's something else screwing up libxml2, that depends on the version of
binutils when its built. I hope this helps, thanks!
Created attachment 69481 [details]
libxml2 build log for binutils version 2.15.90
Created attachment 69482 [details]
build log for libxml2 with binutils 2.15.92.0.2-r10
Created attachment 69483 [details]
build log for libxml2 with binutils 2.16.1
|