Bastian Blank <wa...@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.
signature.asc
Description: Digital signature