Hi,

I can't determine if this is my own problem: $RPM_BUILD_ROOT is not
passed into find-requires. This will cause some severe library building
problem described below.

In my case glib2 1.3.9 and another library depending on glib2 is also
installed (actually it's bonobo-activation). Now glib2 1.3.10 is
installed in parallel with 1.3.9; and try to build bonobo-activation
now. The building is OK; but problems come when running find-requires
on executables.

======================================================
> export LD_LIBRARY_PATH=/home/maddog/devel/tmp/bonobo-activation-buildroot/usr/lib
> ldd bonobo-activation-server
        libbonobo-activation.so.2 => 
/home/maddog/devel/tmp/bonobo-activation-buildroot/usr/lib/libbonobo-activation.so.2 
(0x40017000)
        [......]
======================================================
> unset LD_LIBRARY_PATH
> ldd bonobo-activation-server
        libbonobo-activation.so.2 => /usr/lib/libbonobo-activation.so.2 (0x4002c000)
        [......]
        libgobject-1.3.so.9 => /usr/lib/libgobject-1.3.so.9 (0x40467000)
        libgthread-1.3.so.9 => /usr/lib/libgthread-1.3.so.9 (0x4049f000)
        libgmodule-1.3.so.9 => /usr/lib/libgmodule-1.3.so.9 (0x404a5000)
======================================================

In latter case, if LD_LIBRARY_PATH is not set, then find-requires
wrongly determines that glib2 1.3.9 is a requirement for binary,
since /usr/lib/libbonobo-activation.so.2 is linked with glib2 1.3.9.

Unfortunately, it seems this is the case for find-requires:

        Finding  Requires: (using /usr/lib/rpm/find-requires)...
        [......]
        + LD_LIBRARY_PATH=/usr/X11R6/lib:/usr/lib:/lib

while the original line for find-requires is:

        
LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/X11R6/lib:$RPM_BUILD_ROOT/usr/lib:$RPM_BUILD_ROOT/lib

Is it I missed something, or is it a genuine problem?
TIA!

Abel


Reply via email to