Red Hat Bugzilla – Bug 26234
find-requires should not include ld.so.preload contents
Last modified: 2007-04-18 12:31:13 EDT
(See bug 8250)
I disagree that this is an issue with the build environment. I think a
build machine SHOULD be able to have a preload list without it affecting
the resulting RPM. There is a discussion on the rpm-list regarding this
and the message at
http://www.redhat.com/mailing-lists/rpm-list/msg01941.html provides a very
elegant solution. It uses objdump instead of ldd to obtain the requires
Why not use this solution?
There are two problems that I can see with using objdump -p rather than ldd:
1) objdump -p output does not include
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
2) objdump -p may not work with a.out executables.
Yes, there are possible workarounds for both problems. I still don't
believe that rpm defaults can possibly Get It Right for all build
systems, and so it's not worth attempting.
If you really want to eliminate LD_PRELOAD dependencies, then write your
own find-requires and filter out the unwanted dependencies:
/usr/lib/rpm/find-requires | sed -e 's/whatever//'
and configure your build system by doing (assuming above script is
echo "%_find_requires /etc/rpm/my-find-requires"
A per-package configuration is also possible.
'Tain't hard ...