On Tue, Jun 19, 2001 at 04:08:18PM +0200, Arnd Bergmann wrote:
> On Tue, 19 Jun 2001, David Odin wrote:
>
> > On Tue, Jun 19, 2001 at 02:58:20PM +0200, Arnd Bergmann wrote:
> >
> > > Interestingly, when this thing happens, the libraries are first built
> > > correctly during %make, but in %install, libtool tries to relink the
> > > files against the one it (thinks it) has just installed in $prefix,
> > > when they are really in $RPM_BUILD_ROOT/$prefix.
> > >
> > > The rebuilt libglib2-1.3.6-2mdk package just came through the mirrors,
> > > and STILL has the problem, it appearantly was not installed before
> > > rebuilding!
> > > Also, libatk0, libgtk+2, pango and kdelibs still need an update or
> > > rebuild since they depend on libglib-1.3.so.5.
> > >
> > Nothing in the compilation of glib-1.3.6 seems to need glib-1.3.5.
> > I still don't understand why libglib-1.3.so.5 is needed by
> > libglib2-1.3.6-1mdk.
>
> As I expained above, compilation goes fine. However, in 'make install',
> libglib-1.3.so.6 normally is installed in /usr/lib, but rpm lets
> it install in /home/odin/rpm/tmp/libglib2-root/usr/lib. So far,
> everything is fine.
> Next, 'make install' gets to the gobject directory and notices that
> libgobject-1.3.so.6 links against ../.libs/libglib-1.3.so.6, where the
> following thing happens:
>
> /bin/sh ../libtool --mode=install /usr/bin/install -c libgobject-1.3.la
>/home/arnd/rpm/tmp/glib-1.3.6-root/usr/lib/libgobject-1.3.la
> libtool: install: warning: relinking `libgobject-1.3.la'
> cd /home/arnd/rpm/BUILD/glib-1.3.6/gobject; /bin/sh ../libtool --mode=relink gcc
> -O3 -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math
>-fno-strength-reduce -Wall -D_REENTRANT -o libgobject-1.3.la -rpath /usr/lib
>-version-info 6:0:0 -export-dynamic gboxed.lo gbsearcharray.lo gclosure.lo genums.lo
>gobject.lo gparam.lo gparamspecs.lo gsignal.lo gtype.lo gtypemodule.lo gtypeplugin.lo
>gvalue.lo gvaluearray.lo gvaluetransform.lo gvaluetypes.lo ../libglib-1.3.la
> gcc -shared gboxed.lo gbsearcharray.lo gclosure.lo genums.lo gobject.lo gparam.lo
>gparamspecs.lo gsignal.lo gtype.lo gtypemodule.lo gtypeplugin.lo gvalue.lo
>gvaluearray.lo gvaluetransform.lo gvaluetypes.lo -L/usr/lib -lglib-1.3 -Wl,-soname
>-Wl,libgobject-1.3.so.6 -o .libs/libgobject-1.3.so.6.0.0
>
> >From this point on, libgobject-1.3.so.6.0.0 links against libglib-1.3.so.5
> if that was installed in /usr/lib. If no libglib is installed at all in
> /usr/lib, libgobject and the others will contain no reference to libglib
> at all, which is ok.
> I think the reason for the problem is either a bug in rpm or in libtool,
> because AFAIR, it used to work most of the time, and now various packages
> show this behaviour. I did not find a fix, either.
>
Indeed, there's something very... peculiar here:
[dindinx@ke gobject]$ pwd
/home/dindinx/RPM/BUILD/glib-1.3.6/gobject
[dindinx@ke gobject]$ ldd .libs/gobject-query
libgobject-1.3.so.6 => /usr/lib/libgobject-1.3.so.6 (0x4002d000)
libglib-1.3.so.6 => /usr/lib/libglib-1.3.so.6 (0x40063000)
libc.so.6 => /lib/libc.so.6 (0x400bd000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libglib-1.3.so.5 => not found
[dindinx@ke gobject]$ ldd .libs/glib-genmarshal
libglib-1.3.so.6 => /usr/lib/libglib-1.3.so.6 (0x4002d000)
libc.so.6 => /lib/libc.so.6 (0x40087000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
I cannot understand why glib-genmarshal isn't linked against libglib-1.3.so.5
while gobject-query is. FYI:
[dindinx@ke .libs]$ ldd libgobject-1.3.so.6.0.0
libglib-1.3.so.6 => /home/dindinx/RPM/BUILD/glib-1.3.6/.libs/libglib-1.3.so.6
(0x40037000)
libc.so.6 => /lib/libc.so.6 (0x400a7000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
Still searching...
DindinX
--
[EMAIL PROTECTED]