On Mon, Feb 23, 2004 at 06:24:31AM -0500, Kevin B. McCarty wrote: > Hi, > I've gotten a bunch of FTBFSes for cernlib 2003.09.03-4 which I assume are > related to the new X release. The problem is that when linking a program > with these flags, Yes, I'm getting a few strange reports like this. To be honest I don't yet know if it's a package bug or some sort of weirdness inflicted on the buildds due to kludge necessary to work around the fact that xlibs-dev is now an architecture-independent pseudopackage. > /usr/bin/ld: warning: libICE.so.6, needed by > /usr/lib/gcc-lib/ia64-linux/3.3.3/../../../libXm.so, not found (try using -rpath or -rpath-link) [...] > This always worked before (with X 4.2.1-xx). So, a few questions: > > 1) To fix this, the only thing I should have to do is change my linker > flags as below, is that correct? > > -L/usr/X11R6/lib -lXm -lXt -lXp -lXext -lX11 -lSM -lICE -lXpm -lnsl -lcrypt -ldl -lg2c > ^^^^^^^^^^^^^^^^ > added flags ---------------------------------------' [...] > correction: assuming my library dependency checking script (attached) is > correct, having run it on an shlib directory filled with symlinks to > the libs in /usr/X11R6/lib, the linkage for Lesstif programs should be: > > -L/usr/X11R6/lib -lXm -lXp -lXt -lXext -lXpm -lX11 -lSM -lICE > > is that right? Well, let's see: libXp.so: libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x6ffa5000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x6feac000) libc.so.6 => /lib/libc.so.6 (0x6fd4e000) libdl.so.2 => /lib/libdl.so.2 (0x6fd2b000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libXt.so: libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x6fe88000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x6fe5e000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x6fe26000) libc.so.6 => /lib/libc.so.6 (0x6fcc8000) libdl.so.2 => /lib/libdl.so.2 (0x6fca5000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libXext.so: libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x6fed5000) libc.so.6 => /lib/libc.so.6 (0x6fd77000) libdl.so.2 => /lib/libdl.so.2 (0x6fd54000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libXpm.so: libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x6fed6000) libc.so.6 => /lib/libc.so.6 (0x6fd78000) libdl.so.2 => /lib/libdl.so.2 (0x6fd55000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libX11.so: libdl.so.2 => /lib/libdl.so.2 (0x6fee4000) libc.so.6 => /lib/libc.so.6 (0x6fd86000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libSM.so: libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x6ff9e000) libc.so.6 => /lib/libc.so.6 (0x6fe40000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) libICE.so: libc.so.6 => /lib/libc.so.6 (0x6fe6a000) /lib/ld.so.1 => /lib/ld.so.1 (0x08000000) So, what you have looks about right. > 2) Will this cause any problems with backwards compatibility for > X <= 4.2.1-xx (e.g. for woody backports)? Shouldn't. These libraries have changed very little internally, and they certainly haven't changed their interdependencies. E.g., libICE did not used to use symbols from libX11. > Presumably there was some reason that earlier, these extra libs were > only required on powerpc? I don't think that is a valid premise. I think they probably were. > 3) Do I need to Build-Depend on any additional X packages other than > xlibs-dev now? Yes, given the above linkage, you need to Build-Depend on: libxp-dev, libxt-dev, libxext-dev, libxpm-dev, libx11-dev, libsm-dev, libice-dev. If you application uses X protocol headers directly, you should also Build-Depend on x-dev. If it doesn't, don't worry about it. You can drop the dependency on xlibs-dev entirely: Package: xlibs-dev Status: install ok installed Priority: optional Section: libdevel Installed-Size: 208 Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Source: xfree86 Version: 4.3.0-2 Depends: libice-dev, libsm-dev, libx11-dev, libxext-dev, libxi-dev, libxmu-dev, libxmuu-dev, libxp-dev, libxpm-dev, libxrandr-dev, libxt-dev, libxtrap-dev, libxtst-dev, libxv-dev, pm-dev, x-dev, xlibs-static-dev Description: X Window System client library development files pseudopackage This package smooths upgrades from Debian 3.0 by depending on libice-dev, libsm-dev, libx11-dev, libxext-dev, libxi-dev, libxmu-dev, libxmuu-dev, libxp-dev, libxpm-dev, libxrandr-dev, libxt-dev, libxtrap-dev, libxtst-dev, libxv-dev, pm-dev, x-dev, and xlibs-static-dev. This pseudopackage is only depended upon by packages that haven't yet corrected their dependencies to reflect the new library arrangement. > 4) less important for practical purposes, but I'm curious: what changed? As far as I know, nothing apart from the package split, which is copiously documented in the XFree86 package changelog. > Also, if there is a FAQ regarding this for which I should RTFM, let me > know. Not yet. Once I understand what is causing the strange failures people are seeing, I will prepare one, and likely post it to debian-devel-announce. -- G. Branden Robinson | You don't just decide to break Debian GNU/Linux | Kubrick's code of silence and then branden@debian.org | get drawn away from it to a http://people.debian.org/~branden/ | discussion about cough medicine.
Attachment:
signature.asc
Description: Digital signature