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:
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.
Created attachment 15394 [details, diff] prelink.patch
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".
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