Bug#344912: tetex-bin: binaries linked against unneeded libraries
Package: tetex-bin
Version: 3.0-11sarge12
Severity: important
Hi all, hi Martin,
since we apply the libpoppler patch to tetex-bin that you kindly
provided, all binaries get linked to "everything", This is easiest seen
with the libkpathsea library, which is also linked against lots of
unneeded things:
$ ldd /usr/lib/libkpathsea.so.4
libpoppler.so.0 => /usr/lib/libpoppler.so.0 (0xb7ec9000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7d94000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7d51000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7d22000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7d04000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7c4a000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7c28000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7c1f000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7c16000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7b4f000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7b2a000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7abd000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7aab000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7a8b000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7a87000)
Previously, neither the X-related nor the image format related libraries
where in there, and especially not libstdc++ (kpathsea is a pure C
application).
I don't know how this is happening, but this line looks suspcicious:
-gcc -shared [long list of .lo files] -Wl,-soname -Wl,libkpathsea.so.4 -o ../kpathsea/.libs/libkpathsea.so.4.0.0
+gcc -shared [long list of .lo files] -L/usr/X11R6/lib -L/usr/lib /usr/lib/libpoppler.so -Wl,-soname -Wl,libkpathsea.so.4 -o ../kpathsea/.libs/libkpathsea.so.4.0.0
why is there this "/usr/lib/libpoppler.so"? Of course, libtool
invocation two lines earlier changed:
-/bin/sh ../libtool --mode=link gcc -o ../kpathsea/libkpathsea.la -rpath /usr/lib -version-info 4:0:0 [long list of .lo files]
+/bin/sh ../libtool --mode=link gcc -o ../kpathsea/libkpathsea.la -lpoppler -rpath /usr/lib -version-info 4:0:0 [long list of .lo files]
I'm not sure whether the problem is that -lpoppler is passed - I thought
that gcc is clever enough not to link against libraries from which no
symbols are used. But why does libtool pass "/usr/lib/libpoppler.so"?
Regards, Frank
-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.10
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)
Versions of packages tetex-bin depends on:
ii debconf [debconf-2 1.4.30.13 Debian configuration management sy
ii debianutils 2.8.4 Miscellaneous utilities specific t
ii dpkg 1.10.28 Package maintenance system for Deb
ii ed 0.2-20 The classic unix line editor
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libcairo2 1.0.2-2sarge3 The Cairo 2D vector graphics libra
ii libfontconfig1 2.3.1-2 generic font configuration library
ii libfreetype6 2.1.7-2.4 FreeType 2 font engine, shared lib
ii libgcc1 1:3.4.3-13 GCC support library
ii libice6 4.3.0.dfsg.1-14sarge1 Inter-Client Exchange library
ii libjpeg62 6b-10 The Independent JPEG Group's JPEG
ii libkpathsea4 3.0-11sarge12 path search library for teTeX (run
ii libpaper1 1.1.14-3 Library for handling paper charact
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libpoppler0 0.4.2-1.0sarge2 PDF rendering library
ii libsm6 4.3.0.dfsg.1-14sarge1 X Window System Session Management
ii libstdc++5 1:3.3.5-13 The GNU Standard C++ Library v3
ii libt1-5 5.0.2-3 Type 1 font rasterizer library - r
ii libx11-6 4.3.0.dfsg.1-14sarge1 X Window System protocol client li
ii libxaw7 4.3.0.dfsg.1-14sarge1 X Athena widget set library
ii libxext6 4.3.0.dfsg.1-14sarge1 X Window System miscellaneous exte
ii libxmu6 4.3.0.dfsg.1-14sarge1 X Window System miscellaneous util
ii libxpm4 4.3.0.dfsg.1-14sarge1 X pixmap library
ii libxrender1 0.8.3-7 X Rendering Extension client libra
ii libxt6 4.3.0.dfsg.1-14sarge1 X Toolkit Intrinsics
ii mime-support 3.28-1 MIME files 'mime.types' & 'mailcap
ii perl 5.8.4-8 Larry Wall's Practical Extraction
ii sed 4.1.2-8 The GNU sed stream editor
ii tetex-base 3.0-11 Basic library files of teTeX
ii ucf 1.17 Update Configuration File: preserv
ii xlibs 4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-4.sarge.2 compression library - runtime
-- debconf information:
tetex-bin/upd_map: true
* tetex-bin/cnf_name:
tetex-bin/fmtutil: true
tetex-bin/fmtutil-failed:
tetex-bin/updmap-failed:
tetex-bin/hyphen: french[=patois], ngerman[=naustrian-neue_Rechtschreibung]
tetex-bin/oldcfg: true
tetex-bin/use_debconf: false
--
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer
Reply to: