Summary: | PRELINK_MASK_PATH not affecting prelink | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alex Combas <ghetto_samurai> |
Component: | New packages | Assignee: | Stefan Jones (RETIRED) <cretin> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Alex Combas
2003-05-31 16:47:30 UTC
..more info.. Prelink is fails with this error: prelink: exec.c:779: prelink_exec: Assertion `data->d_size == dso->shdr[new_dynbss].sh_size + dso->shdr[new_dynbss + 1].sh_size' failed. Aborted The Gentoo Prelink documentation says: "Prelink aborts with "prelink: dso.c:306: fdopen_dso: Assertion `j == k' failed." This a known problem, kindly diagnosed here. Prelink cannot cope with UPX-compressed executables. As of prelink-20021213 there is no fix except to hide the executables while you are prelinking. See the Configuration section above for an easy way to do this." However as my last comment shows, PRELINK_MASK_PATH is not affecting prelink, so I have no way to hide these executables until this is fixed. Is anyone else having similar troubles with prelink and PRELINK_MASK_PATH? Hm, how did this end up with me? This is a prelink bug as I see and I am not a prelink person... Reassiging back to bug-wranglers. George Dang it! :) Could you paste in your /etc/prelink.conf after a env-update and having PRELINK_MASK_PATH="/opt" set in /etc/env.d/99prelink please. $ cat /etc/env.d/99prelink PRELINK_MASK_PATH="/opt" $ cat /etc/prelink.conf # prelink.conf autogenerated by env-update; make all changes to # contents of /etc/env.d directory -l /bin -l /sbin -l /usr/bin -l /usr/sbin -l /lib -l /usr/lib -h /usr/local/lib -h /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3 -h /usr/lib/opengl/nvidia/lib -h /usr/lib/mozilla -h /usr/X11R6/lib -h /opt/blackdown-jdk-1.4.1/jre/lib/i386/ -h /opt/blackdown-jdk-1.4.1/jre/lib/i386/native_threads/ -h /usr/qt/3/lib -h /usr/games/lib -h /usr/lib/fltk-1.1 -h /usr/local/bin -h /opt/bin -h /usr/i686-pc-linux-gnu/gcc-bin/3.2 -h /usr/X11R6/bin -h /opt/blackdown-jdk-1.4.1/bin -h /opt/blackdown-jdk-1.4.1/jre/bin -h /usr/qt/3/bin -h /usr/games/bin -h /opt/vmware/bin # prelink -afmR ~~snip~~ prelink: /opt/vmware/bin/vmnet-bridge: Not enough room to add .dynamic entry prelink: /opt/vmware/bin/vmware-ping: Not enough room to add .dynamic entry prelink: /opt/kylix3/bin/bc++: DT_JMPREL tag not adjacent to DT_REL relocations prelink: /opt/vmware/bin/vmware-nmbd: Not enough room to add .dynamic entry ~~snip~~ prelink: exec.c:779: prelink_exec: Assertion `data->d_size == dso->shdr[new_dynbss].sh_size + dso->shdr[new_dynbss + 1].sh_size' failed. Aborted Ok, it looks like PRELINK_MASK_PATH is not a substring matcher, ie. /opt will not match /opt/bin. But the curious thing is that /opt/kylix3/bin/bc++ attemted to be prelinked, even though it is not in prelink.conf. So we have two seperate bugs; PRELINK_MASK_PATH not matching substrings, and prelink picking random files to be prelinked, I can fix the first in portage, but the second problem is a mystery ( for the moment ) thanks Maybe there is a symlink to bc++ somewhere in the prelinked paths? is this fixed in the latest prelink version? A new version of prelink will be in portage soon, when I add it could you test it. This may also be a portage (env-update) problem. ok, many new versions of prelink have come and gone. Closing bug, please reopen if it is still a problem ( latest versions of perlink are quite stable ) see last comment |