[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some patches for mklibs



Bastian Blank <waldi@debian.org> (14/02/2010):
> Please specify your problem first.  Just don't include the broken
> shared objects on the commandline.

Trying to build a d-i image with X11 embedded, I got the following
result. From your comment, it looks like I should be excluding stuff
in the find call instead; is my understanding correct?

,----[ log excerpt ]----
| mkdir -p ./tmp/netboot-gtk/tree/lib
| mklibs -L ./tmp/netboot-gtk/tree/usr/lib -L ./tmp/netboot-gtk/udeblibs -v -d ./tmp/netboot-gtk/tree/lib --root=./tmp/netboot-gtk/tree \
|                 -L ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend \
|                 -lgtk.so -lnewt.so -ltext.so \
|                 `find ./tmp/netboot-gtk -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | grep -v udeblibs`
| I: Using /lib/ld-linux.so.2 as dynamic linker.
| Adding rpath ./tmp/netboot-gtk/tree//usr/lib/cdebconf for ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/newt.so
| I: library reduction pass 1
| Objects: udpkg setxkbmap xkbcomp Xorg brltty plugin-entropy.so dhclient plugin-terminal.so pango-basic-fc.so libiw.so.30 libnss_dns-2.10.2.so libfbdevhw.so libblkid.so.1.1.0 libdebian-installer.so.4 libfribidi.so.0.0.0 anna archdetect bterm busybox libdbe.so evdev_drv.so libextmod.so libnss_files-2.10.2.so libsysfs.so.2 libudev.so.0.6.0 libfb.so libshadow.so libvgahw.so libvbe.so libint10.so libshadowfb.so edd_id usb_id pango-syriac-fc.so pango-indic-lang.so pango-arabic-lang.so libuuid.so.1.3.0 libgcc_s.so.1 trimtemplates lsmod newt.so netcfg pcmcia-check-broken-cis pcmcia-socket-startup rfc822db.so stack.so debconf-dumpdb debconf-copydb libdebconf.so debconf debconf-loadtemplate libfontconfig.so.1.4.4 libatk-1.0.so.0.2809.1 libcairo.so.2.10800.8 libdebconfclient.so.0.0.0 fbdev_drv.so pango-indic-fc.so pango-arabic-fc.so libhcengine.so plugin-terminal.so libclearlooks.so pango-hebrew-fc.so pango-thai-fc.so pango-basic-x.so pango-hangul-fc.so gtk.so kbd-mode kbd-chooser cdrom_id plugin-entropy.so log-output fc-list gpgv choose-mirror libexpat.so.1.5.2 libfontenc.so.1.0.0 libfreetype.so.6.3.22 libgcrypt.so.11.5.3 libgio-2.0.so.0.2200.4 libgthread-2.0.so.0.2200.4 libglib-2.0.so.0.2200.4 libgmodule-2.0.so.0.2200.4 libgobject-2.0.so.0.2200.4 libgpg-error.so.0.4.0 libgdk_pixbuf-2.0.so.0.1800.6 libgdk-x11-2.0.so.0.1800.6 libgtk-x11-2.0.so.0.1800.6 libgdk_pixbuf_xlib-2.0.so.0.1800.6 libpangox-1.0.so.0.2600.2 libpangoxft-1.0.so.0.2600.2 libpangocairo-1.0.so.0.2600.2 libpangoft2-1.0.so.0.2600.2 libpango-1.0.so.0.2600.2 ata_id input_id libpciaccess.so.0.10.8 scsi_id libpcreposix.so.3.12.1 libpcre.so.3.12.1 nano libpixman-1.so.0.16.4 libpng12.so.0.42.0 libtextwrap.so.1.0.0 libvte.so.9.9.5 libX11.so.6.3.0 libXau.so.6.0.0 modprobe libxcb.so.1.1.0 pccardctl libXcomposite.so.1.0.0 libXcursor.so.1.0.2 path_id libXdamage.so.1.1.0 libXdmcp.so.6.0.0 libXext.so.6.4.0 udevadm libXfixes.so.3.1.0 libXfont.so.1.4.1 libXft.so.2.1.13 libXi.so.6.1.0 libXinerama.so.1.0.0 libxkbfile.so.1.0.2 libXrandr.so.2.2.0 libXrender.so.1.3.0 libz.so.1.2.3.4 steal-ctty console-type udevd text.so blkid libpixbufloader-png.so depmod insmod plugin-entropy.so pango-khmer-fc.so pango-tibetan-fc.so main-menu lspci
| Object: ./tmp/netboot-gtk/tree/usr/bin/udpkg
| Object: ./tmp/netboot-gtk/tree/usr/bin/setxkbmap
| Object: ./tmp/netboot-gtk/tree/usr/bin/xkbcomp
| Object: ./tmp/netboot-gtk/tree/usr/bin/Xorg
| Object: ./tmp/netboot-gtk/tree/sbin/brltty
| Object: ./tmp/netboot-gtk/tree/extraudebs-tmp/usr/lib/cdebconf/frontend/newt/plugin-entropy.so
| Object: ./tmp/netboot-gtk/tree/sbin/dhclient
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/gtk/plugin-terminal.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-basic-fc.so
| Object: ./tmp/netboot-gtk/tree/lib/libiw.so.30
| Object: ./tmp/netboot-gtk/tree/lib/libnss_dns-2.10.2.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/linux/libfbdevhw.so
| Object: ./tmp/netboot-gtk/tree/lib/libblkid.so.1.1.0
| Object: ./tmp/netboot-gtk/tree/lib/libdebian-installer.so.4
| Object: ./tmp/netboot-gtk/tree/lib/libfribidi.so.0.0.0
| Object: ./tmp/netboot-gtk/tree/bin/anna
| Object: ./tmp/netboot-gtk/tree/bin/archdetect
| Object: ./tmp/netboot-gtk/tree/usr/bin/bterm
| Object: ./tmp/netboot-gtk/tree/bin/busybox
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/extensions/libdbe.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/input/evdev_drv.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/extensions/libextmod.so
| Object: ./tmp/netboot-gtk/tree/lib/libnss_files-2.10.2.so
| Object: ./tmp/netboot-gtk/tree/lib/libsysfs.so.2
| Object: ./tmp/netboot-gtk/tree/lib/libudev.so.0.6.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libfb.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libshadow.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libvgahw.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libvbe.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libint10.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/modules/libshadowfb.so
| Object: ./tmp/netboot-gtk/tree/lib/udev/edd_id
| Object: ./tmp/netboot-gtk/tree/lib/udev/usb_id
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-syriac-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-indic-lang.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-arabic-lang.so
| Object: ./tmp/netboot-gtk/tree/lib/libuuid.so.1.3.0
| Object: ./tmp/netboot-gtk/tree/lib/libgcc_s.so.1
| Object: ./tmp/netboot-gtk/tree/bin/trimtemplates
| Object: ./tmp/netboot-gtk/tree/bin/lsmod
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/newt.so
| Object: ./tmp/netboot-gtk/tree/bin/netcfg
| Object: ./tmp/netboot-gtk/tree/lib/udev/pcmcia-check-broken-cis
| Object: ./tmp/netboot-gtk/tree/lib/udev/pcmcia-socket-startup
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/db/rfc822db.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/db/stack.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/debconf-dumpdb
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/debconf-copydb
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/libdebconf.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/debconf
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/debconf-loadtemplate
| Object: ./tmp/netboot-gtk/tree/usr/lib/libfontconfig.so.1.4.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libatk-1.0.so.0.2809.1
| Object: ./tmp/netboot-gtk/tree/usr/lib/libcairo.so.2.10800.8
| Object: ./tmp/netboot-gtk/tree/usr/lib/libdebconfclient.so.0.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/xorg/modules/drivers/fbdev_drv.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-indic-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-arabic-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/gtk-2.0/2.10.0/engines/libhcengine.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/newt/plugin-terminal.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-hebrew-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-thai-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-basic-x.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-hangul-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/gtk.so
| Object: ./tmp/netboot-gtk/tree/usr/bin/kbd-mode
| Object: ./tmp/netboot-gtk/tree/usr/bin/kbd-chooser
| Object: ./tmp/netboot-gtk/tree/lib/udev/cdrom_id
| Object: ./tmp/netboot-gtk/tree/extraudebs-tmp/usr/lib/cdebconf/frontend/text/plugin-entropy.so
| Object: ./tmp/netboot-gtk/tree/bin/log-output
| Object: ./tmp/netboot-gtk/tree/usr/bin/fc-list
| Object: ./tmp/netboot-gtk/tree/usr/bin/gpgv
| Object: ./tmp/netboot-gtk/tree/bin/choose-mirror
| Object: ./tmp/netboot-gtk/tree/usr/lib/libexpat.so.1.5.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libfontenc.so.1.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libfreetype.so.6.3.22
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgcrypt.so.11.5.3
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgio-2.0.so.0.2200.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgthread-2.0.so.0.2200.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libglib-2.0.so.0.2200.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgmodule-2.0.so.0.2200.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgobject-2.0.so.0.2200.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgpg-error.so.0.4.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgdk_pixbuf-2.0.so.0.1800.6
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgdk-x11-2.0.so.0.1800.6
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgtk-x11-2.0.so.0.1800.6
| Object: ./tmp/netboot-gtk/tree/usr/lib/libgdk_pixbuf_xlib-2.0.so.0.1800.6
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpangox-1.0.so.0.2600.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpangoxft-1.0.so.0.2600.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpangocairo-1.0.so.0.2600.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpangoft2-1.0.so.0.2600.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpango-1.0.so.0.2600.2
| Object: ./tmp/netboot-gtk/tree/lib/udev/ata_id
| Object: ./tmp/netboot-gtk/tree/lib/udev/input_id
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpciaccess.so.0.10.8
| Object: ./tmp/netboot-gtk/tree/lib/udev/scsi_id
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpcreposix.so.3.12.1
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpcre.so.3.12.1
| Object: ./tmp/netboot-gtk/tree/bin/nano
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpixman-1.so.0.16.4
| Object: ./tmp/netboot-gtk/tree/usr/lib/libpng12.so.0.42.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libtextwrap.so.1.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libvte.so.9.9.5
| Object: ./tmp/netboot-gtk/tree/usr/lib/libX11.so.6.3.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXau.so.6.0.0
| Object: ./tmp/netboot-gtk/tree/sbin/modprobe
| Object: ./tmp/netboot-gtk/tree/usr/lib/libxcb.so.1.1.0
| Object: ./tmp/netboot-gtk/tree/sbin/pccardctl
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXcomposite.so.1.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXcursor.so.1.0.2
| Object: ./tmp/netboot-gtk/tree/lib/udev/path_id
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXdamage.so.1.1.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXdmcp.so.6.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXext.so.6.4.0
| Object: ./tmp/netboot-gtk/tree/sbin/udevadm
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXfixes.so.3.1.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXfont.so.1.4.1
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXft.so.2.1.13
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXi.so.6.1.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXinerama.so.1.0.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libxkbfile.so.1.0.2
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXrandr.so.2.2.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libXrender.so.1.3.0
| Object: ./tmp/netboot-gtk/tree/usr/lib/libz.so.1.2.3.4
| Object: ./tmp/netboot-gtk/tree/sbin/steal-ctty
| Object: ./tmp/netboot-gtk/tree/sbin/console-type
| Object: ./tmp/netboot-gtk/tree/sbin/udevd
| Object: ./tmp/netboot-gtk/tree/usr/lib/cdebconf/frontend/text.so
| Object: ./tmp/netboot-gtk/tree/sbin/blkid
| Object: ./tmp/netboot-gtk/tree/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so
| Object: ./tmp/netboot-gtk/tree/sbin/depmod
| Object: ./tmp/netboot-gtk/tree/sbin/insmod
| Object: ./tmp/netboot-gtk/tree/extraudebs-tmp/usr/lib/cdebconf/frontend/gtk/plugin-entropy.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-khmer-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/lib/pango/1.6.0/modules/pango-tibetan-fc.so
| Object: ./tmp/netboot-gtk/tree/usr/bin/main-menu
| Object: ./tmp/netboot-gtk/tree/usr/bin/lspci
| 4107 symbols, 678 unresolved
| /usr/bin/mklibs:538: DeprecationWarning: raising a string exception is deprecated
|   raise "No library provides non-weak %s" % name
| Traceback (most recent call last):
|   File "/usr/bin/mklibs", line 538, in <module>
|     raise "No library provides non-weak %s" % name
| No library provides non-weak shadowUpdatePackedWeak
`----

shadowUpdatePackedWeak and others are defined in
/usr/lib/xorg/modules/modules/libshadow.so (which is a bit different
than what Samuel pointed out). My idea was to exclude xorg modules
accordingly.

> > AFAICT (please keep in mind I'm quite new to this), the issue was
> > that an X module was needing some symbols available in another X
> > module, without referencing it (I guess one plugin gets access to
> > the other plugin's symbols through the Xorg binary itself).
> 
> There is a reason why dynamic symbols in executables are discuraged,
> you found it.

I'm not sure I'm going to redesign/reimplement X.

> > Modernize exception raising.
> > Raising string exceptions is deprecated, turn strings into proper
> > Exception objects.
> 
> Okay. However please use more matching exceptions.

You mean more specialized exceptions? I guess I'm going to pass and
leave that to the authors, just wanted to get rid of deprecation
warnings at the same time; I don't care that much.

> > Add support for excluding some DSO based on filename patterns.
> 
> Nack. You did not properly specify the problem you want to fix.

If others agree that the find call is the right place to patch, I'm
fine with it.

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: