On Tue, Apr 1, 2008 at 3:04 PM, Theppitak Karoonboonyanan <[EMAIL PROTECTED]> wrote: > > On Mon, Mar 17, 2008 at 4:16 PM, Paul Wise <[EMAIL PROTECTED]> wrote: > > > dpkg-shlibdeps: warning: debian/xiterm+thai/usr/bin/xiterm+thai > > shouldn't be linked with libSM.so.6 (it uses none of its symbols). > > dpkg-shlibdeps: warning: debian/xiterm+thai/usr/bin/xiterm+thai > > shouldn't be linked with libICE.so.6 (it uses none of its symbols). > > 'ldd -u -r /usr/bin/x*' shows that xiterm+thai is not the only > one. Many other X apps have this problem as well.
Update: I've run this simple script to check all executables and shared libraries installed in my machine which are linked to libSM or libICE without using them: ---8<--- $ cat check-sm-ice #!/bin/sh check_sm_ice() { f=$1 unused=`ldd -u -r $f 2>/dev/null` if echo $unused | grep libSM.so >/dev/null 2>&1 || echo $unused | grep libICE.so >/dev/null 2>&1 then pkg=`dpkg -S $f | cut -d: -f1` echo "$pkg:$f" fi } for f in `find /usr/lib/ -name '*.so.*' -type f -print`; do check_sm_ice $f done for f in `find /usr/bin/ -type f -print`; do check_sm_ice $f done $ ./check-sm-ice | sort > unused-sm-ice $ cat unused-sm-ice abiword-gnome:/usr/bin/AbiWord-2.4 brasero:/usr/bin/brasero dasher:/usr/bin/dasher dia-gnome:/usr/bin/dia-gnome ekiga:/usr/bin/ekiga epiphany-gecko:/usr/bin/epiphany-gecko epiphany-webkit:/usr/bin/epiphany-webkit evince:/usr/bin/evince evolution:/usr/bin/evolution evolution:/usr/lib/evolution/2.12/libeabutil.so.0.0.0 evolution:/usr/lib/evolution/2.12/libeconduit.so.0.0.0 evolution:/usr/lib/evolution/2.12/libecontacteditor.so.0.0.0 evolution:/usr/lib/evolution/2.12/libecontactlisteditor.so.0.0.0 evolution:/usr/lib/evolution/2.12/libefilterbar.so.0.0.0 evolution:/usr/lib/evolution/2.12/libemiscwidgets.so.0.0.0 evolution:/usr/lib/evolution/2.12/libeshell.so.0.0.0 evolution:/usr/lib/evolution/2.12/libetable.so.0.0.0 evolution:/usr/lib/evolution/2.12/libetext.so.0.0.0 evolution:/usr/lib/evolution/2.12/libetimezonedialog.so.0.0.0 evolution:/usr/lib/evolution/2.12/libeutil.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-a11y.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-addressbook-a11y.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-addressbook-importers.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-calendar-a11y.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-calendar-importers.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-mail-importers.so.0.0.0 evolution:/usr/lib/evolution/2.12/libevolution-widgets-a11y.so.0.0.0 evolution:/usr/lib/evolution/2.12/libfilter.so.0.0.0 evolution:/usr/lib/evolution/2.12/libmenus.so.0.0.0 fontforge:/usr/bin/fontforge fontforge:/usr/bin/mensis fontforge:/usr/lib/fontforge/libgdraw.so.3.0.1 fontforge:/usr/lib/fontforge/libgutils.so.1.0.0 gnomebaker:/usr/bin/gnomebaker gnome-cups-manager:/usr/bin/gnome-cups-add gnome-cups-manager:/usr/bin/gnome-cups-icon gnome-cups-manager:/usr/bin/gnome-cups-manager gnome-mag:/usr/bin/magnifier gnome-pilot:/usr/bin/gnome-pilot-make-password gnome-pilot:/usr/bin/gpilot-applet gnome-pilot:/usr/bin/gpilotd gnome-pilot:/usr/bin/gpilotd-control-applet gnome-pilot:/usr/bin/gpilotd-session-wrapper gnome-pilot:/usr/bin/gpilot-install-file gnome-power-manager:/usr/bin/gnome-power-manager gnome-power-manager:/usr/bin/gnome-power-preferences gnome-power-manager:/usr/bin/gnome-power-statistics gnome-screensaver:/usr/bin/gnome-screensaver gnome-utils:/usr/bin/baobab gnome-utils:/usr/bin/gfloppy gnome-utils:/usr/bin/gnome-dictionary gnome-utils:/usr/bin/gnome-screenshot gnome-utils:/usr/bin/gnome-search-tool gnome-utils:/usr/bin/gnome-system-log gnome-volume-manager:/usr/bin/gnome-volume-properties groff:/usr/bin/gxditview gthumb:/usr/bin/gthumb gtranslator:/usr/bin/gtranslator imagemagick:/usr/bin/animate imagemagick:/usr/bin/compare imagemagick:/usr/bin/composite imagemagick:/usr/bin/conjure imagemagick:/usr/bin/convert imagemagick:/usr/bin/display imagemagick:/usr/bin/identify imagemagick:/usr/bin/import imagemagick:/usr/bin/mogrify imagemagick:/usr/bin/montage imagemagick:/usr/bin/stream libatspi1.0-0:/usr/lib/libcspi.so.0.10.11 libatspi1.0-0:/usr/lib/libloginhelper.so.0.0.0 libatspi1.0-0:/usr/lib/libspi.so.0.10.11 libbonoboui2-0:/usr/lib/libbonoboui-2.so.0.0.0 libbonoboui2-dev:/usr/bin/bonobo-browser libbonoboui2-dev:/usr/bin/test-moniker libgnomecupsui1.0-1c2a:/usr/lib/libgnomecupsui-1.0.so.1.0.0 libgnome-media0:/usr/lib/libcddb-slave2.so.0.0.0 libgnome-media0:/usr/lib/libgnome-media-profiles.so.0.0.0 libgnomesu0:/usr/bin/gnomesu libgnome-window-settings1:/usr/lib/libgnome-window-settings.so.1.0.0 libgtkglext1:/usr/lib/libgdkglext-x11-1.0.so.0.0.0 libgtkglext1:/usr/lib/libgtkglext-x11-1.0.so.0.0.0 libgtkhtml3.14-19:/usr/lib/libgtkhtml-3.14.so.19.1.0 libmagick10:/usr/lib/libMagick.so.10.0.9 libmagick++10:/usr/lib/libMagick++.so.10.0.9 libmagick10:/usr/lib/libWand.so.10.0.9 libplot2c2:/usr/lib/libplot.so.2.2.2 libplot2c2:/usr/lib/libplotter.so.2.2.2 libqt3-mt:/usr/lib/libqui.so.1.0.0 libslab0:/usr/lib/libslab.so.0.0.0 libstartup-notification0:/usr/lib/libstartup-notification-1.so.0.0.0 libvte9:/usr/lib/libvte.so.9.2.17 libxaw7:/usr/lib/libXaw7.so.7.0.0 libxmu6:/usr/lib/libXmu.so.6.2.0 libxtrap6:/usr/lib/libXTrap.so.6.4.0 nvclock:/usr/bin/nvclock seahorse:/usr/lib/libseahorse.so.0.0.0 sound-juicer:/usr/bin/sound-juicer stellarium:/usr/bin/stellarium totem-gstreamer:/usr/bin/totem-gstreamer totem-gstreamer:/usr/bin/totem-gstreamer-audio-preview totem-gstreamer:/usr/bin/totem-gstreamer-video-indexer totem-gstreamer:/usr/bin/totem-gstreamer-video-thumbnailer totem-gstreamer:/usr/lib/nautilus/extensions-1.0/libtotem-properties-page.so.gstreamer x11-apps:/usr/bin/oclock x11-apps:/usr/bin/xbiff x11-apps:/usr/bin/xcalc x11-apps:/usr/bin/xclipboard x11-apps:/usr/bin/xclock x11-apps:/usr/bin/xconsole x11-apps:/usr/bin/xcutsel x11-apps:/usr/bin/xditview x11-apps:/usr/bin/xedit x11-apps:/usr/bin/xeyes x11-apps:/usr/bin/xload x11-apps:/usr/bin/xlogo x11-apps:/usr/bin/xmag x11-apps:/usr/bin/xman x11-apps:/usr/bin/xmore x11-utils:/usr/bin/appres x11-utils:/usr/bin/editres x11-utils:/usr/bin/listres x11-utils:/usr/bin/viewres x11-utils:/usr/bin/xfd x11-utils:/usr/bin/xfontsel x11-utils:/usr/bin/xmessage x11-xkb-utils:/usr/bin/xkbvleds x11-xkb-utils:/usr/bin/xkbwatch x11-xserver-utils:/usr/bin/xstdcmap x11-xserver-utils:/usr/bin/xtrapchar x11-xserver-utils:/usr/bin/xtrapin x11-xserver-utils:/usr/bin/xtrapinfo x11-xserver-utils:/usr/bin/xtrapout x11-xserver-utils:/usr/bin/xtrapproto x11-xserver-utils:/usr/bin/xtrapreset x11-xserver-utils:/usr/bin/xtrapstats x11-xserver-utils:/usr/bin/xvidtune xdmx-tools:/usr/bin/dmxwininfo xdmx-tools:/usr/bin/xdmxconfig xiterm+thai:/usr/bin/xiterm+thai xterm:/usr/bin/xterm ---8<--- > After working with Neutron, I find this is caused by the > AC_PATH_XTRA macro in configure.in, which, in addition to > setting the usual CFLAGS and LIBS for X11 build, detects > libSM and libICE and add them to the link flags, regardless of > whether the are actually used or not. And there seems to be > no other autoconf macro for this purpose to use. > > One possible fix is to switch to pkg-config and take > advantage of the modularity of xorg 7. But its price is the > loss of X11R6 support, which may still be in use in other > Unix systems. But I don't think it's too expensive. I've fixed this. The result is less memory usage, from 1.7M to 388 KB. > Another question is, how about other affected X apps? How > would they do with these 2 unused linked libraries? I find the cause varies from package to package. For example, x11-utils and x11-apps use libXaw* and libXt via pkg-config, which in turn depend on libSM and libICE without using them. Meanwhile, gnome-utils uses AC_PATH_XTRA, which always forces libSM and libICE linkage. I haven't checked others yet, though. Regards, -- Theppitak Karoonboonyanan http://linux.thai.net/~thep/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]