Le samedi 21 mars 2009 à 15:34 +0100, Adeodato Simó a écrit :
> gtk2-engines-udeb exhibits two problems on hppa, though the second of
> them may be applicable to other arches as well.
> 
> In the first place, gtk2-engines-udeb 2.14.3-2 and 2.16.1-2 depend on
> libdirectfb-1.0-0-udeb, but only on hppa. This dependency is,
> additionally, spurious: the files shipped in gtk2-engines-udeb are
> linked against libdirectfb-1.0, but do not use any of its symbols as far
> as I can see. The fact that this linkage is only present on hppa is
> probably symptomatic that something is going wrong there.

This looks like a binutils bug on hppa to me. In both 2.16.1-2 and
2.16.1-2+b1, the engines end up with a NEEDED on directfb, while the
link line is:

cc -shared  .libs/clearlooks_rc_style.o .libs/clearlooks_style.o 
.libs/clearlooks_theme_main.o .libs/support.o .libs/animation.o 
.libs/clearlooks_draw.o .libs/clearlooks_draw_glossy.o 
.libs/clearlooks_draw_inverted.o .libs/clearlooks_draw_gummy.o 
-Wl,--whole-archive ../../engines/support/.libs/libsupport.a 
-Wl,--no-whole-archive  -Wl,--as-needed -lgtk-directfb-2.0 -lgdk-directfb-2.0 
-ldirectfb -lfusion -ldirect -lpthread /usr/lib/libatk-1.0.so 
/usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so 
/usr/lib/libgio-2.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so 
/usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so  
-Wl,-z -Wl,defs -Wl,-O1 -Wl,-Bsymbolic -Wl,-soname -Wl,libclearlooks.so -o 
.libs/libclearlooks.so

So this is a problem with --as-needed. Not a trivial one, since it works
with a trivial test case – just checked on paer which has the same
binutils version (2.19.1-1).

> This dependency on directfb caused us to schedule a Bin-NMU of
> gtk2-engines on hppa in order to rebuild it against the new directfb.
> Which brings us to the second problem: the resulting gtk2-engines-udeb
> 2.16.1-2+b1 has completely fucked up dependencies! It depends on
> libcairo2, libglib2.0-0 and libgtk2.0-0 instead of their -udeb
> counterparts!

The explanation is simple: these packages have fscked up shlibs files on
hppa, without udeb lines. This is caused by #518706.
        dh_makeshlibs -plibgtk2.0-0 \
                        -Xusr/lib/gtk-2.0/2.10.0 \
                        -V"libgtk2.0-0 (>= 2.14.0)" \
                        --add-udeb=libgtk-directfb-2.0-0-udeb
        Option add-udeb does not take an argument

My take on it is: binNMU *in order* glib2.0, directfb, cairo, gtk+2.0
and gtk2-engines on hppa.

Cheers,
-- 
 .''`.      Debian 5.0 "Lenny" has been released!
: :' :
`. `'   Last night, Darth Vader came down from planet Vulcan and told
  `-    me that if you don't install Lenny, he'd melt your brain.

Attachment: signature.asc
Description: Ceci est une partie de message numériquement signée

Reply via email to