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

Bug 25748

Summary: emerge prelink crashes after I've emerge system
Product: Gentoo Linux Reporter: Michael N. Mikhulya <mmihulya>
Component: New packagesAssignee: Stefan Jones (RETIRED) <cretin>
Status: RESOLVED FIXED    
Severity: critical CC: azarah, zsolt.botykai
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: prelink.patch

Description Michael N. Mikhulya 2003-08-02 02:21:52 UTC
I've emerged 'system' on [01-Aug-2003] with next use-flags:
....
sys-libs/glibc-2.3.2-r1  +nls +pic -build -nptl
sys-devel/gcc-3.2.3-r1  -static +nls -bootstrap -java -build
sys-devel/binutils-2.14.90.0.2  +nls -bootstrap -build
....

after that on attempt to emerge sys-devel/prelink-20030217 error occurs:

gcc -Wall -mcpu=athlon -march=athlon -O2 -pipe -fomit-frame-pointer -o prelink
-static cache.o conflict.o cxx.o data.o doit.o dso.o dwarf2.o exec.o
execle_open.o fptr.o get.o gather.o hashtab.o layout.o main.o mdebug.o prelink.o
reloc.o space.o stabs.o undo.o undoall.o verify.o crc32.o arch-i386.o
arch-alpha.o arch-ppc.o arch-sparc.o arch-sparc64.o arch-x86_64.o arch-s390.o
arch-s390x.o arch-arm.o arch-sh.o arch-ia64.o  -lelf
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../i686-pc-linux-gnu/bin/ld:
prelink: hidden symbol `__libelf_version_initialized' isn't defined
collect2: ld returned 1 exit status
make[2]: *** [prelink] Error 1
make[2]: Leaving directory `/tmp/portage/prelink-20030217/work/prelink/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/portage/prelink-20030217/work/prelink'
make: *** [all] Error 2

The same happens on attempt to emerge sys-devel/prelink-20030505.

Reproducible: Always
Steps to Reproduce:
Comment 1 Ian Leitch (RETIRED) gentoo-dev 2003-08-02 14:50:11 UTC
OK, The prelink ebuild depends on elfutils and blocks libelf. Elftuils and libelf cannot be installed at the same time.
With elfutils installed prelink fails with the error you mentioned, with libelf however prelink compiles fine.

Prelink should depend on libelf and block elfutils.
Comment 2 Ian Leitch (RETIRED) gentoo-dev 2003-08-02 14:51:38 UTC
Created attachment 15394 [details, diff]
prelink.patch
Comment 3 Michael N. Mikhulya 2003-08-02 23:59:55 UTC
thanks, prelink was biult.

Problem "Cannot prelink against non-PIC shared library" was raised with next libraries:
/usr/lib/libavcodec.so (ffmpeg-0.4.7_pre20030624)
/usr/lib/liblavfile-1.6.so.0 (mjpegtools-1.6.0-r7)
/usr/X11R6/lib/libXfont.so.1 (xfree-4.3.0-r3)

And this message appears twice:
prelink: /usr/i686-pc-linux-gnu/gcc-bin/3.2/g++ is no longer hardlink to /usr/i686-pc-linux-gnu/gcc-bin/3.2/c++

I've rebuilt ffmpeg and mjpegtools, but it doesn't help me. I don't know can it be fixed or not. If it can't be fixed then probably it necessary to add note about it to "prelink-howto".
Comment 4 Stefan Jones (RETIRED) gentoo-dev 2003-08-03 03:27:29 UTC
No the patch is wrong, elfutils is needed.
It is just that the most recent version of elfutils need to be used to fix the:

prelink: hidden symbol `__libelf_version_initialized' isn't defined

error. elfutils-0.76-r2 needs to be used.


The warnings you get in #3 I also get and can be ignored.

Stefan