On Wed, Feb 25, 2004 at 12:37:10PM -0500, Kevin B. McCarty wrote: > On Mon, 23 Feb 2004, Branden Robinson wrote: > > > On Mon, Feb 23, 2004 at 06:24:31AM -0500, Kevin B. McCarty wrote: > [...] > > > 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. > > Sorry, I should have been clearer. In my understanding, as of X 4.2.1, > the extra libraries like libICE.so and libSM.so needed to be explicitly > linked (via the arguments to gcc) only on powerpc; This is the first I've heard of this. If it is true, I have no idea why. > on other arches the linker was able to figure out to link them in > automatically via the lib dependencies of libXm.so (Lesstif). I didn't think the linker worked this way; I thought you always had to provide explicit linkage for every object you required, static or dynamic; direct or transitive dependency. > That is, on any arch other than powerpc, the linker flags would look > like "-lXm ... -lX11" and on powerpc, they needed to look like "-lXm > ... -lX11 -lSM -lICE". If that understanding is wrong (I wouldn't be > surprised if it is, as it was derived from the cernlib upstream lib > dependency script), please correct me again. I don't know if it's right, but I'd be surprised if it were. Then again, I'm not a toolchain wizard, and toolchain wizards are subtle and quick to anger, so I will not speculate too much. > >From what James Troup said in a followup, it looks like the weird errors > were due not to a new requirement that libSM and libICE be explicitly > linked in, but rather due to a problem that left apt or dpkg thinking > libice6 was installed even though it was actually not. So I guess the > -lSM -lICE flags are still not explicitly required, and my question > becomes, is it _better_ to include those flags even if not explicitly > required? As I understand the way you're supposed to handle linkage, yes. The only library that is implicitly linked is the C library. > > 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. > > Cernlib depends upon libXp, libXext, libXpm, libSM and libICE only through > Lesstif, not explicitly. In days past, libXm also depended on libXt. If ldd says that is no longer true, though, then I won't contradict it. > So I presume that I should Build-Depend upon: > > lesstif2-dev|lesstif-dev, x-dev|xlibs-dev, libx11-dev|xlibs-dev, > libxt-dev|xlibs-dev > > (where in each case the alternative is for woody back-portability); does > that seem correct? Almost. You should version each of the xlibs-dev dependencies to (<< 4.3.0). Also, you should put spaces on each side of your pipe characters. :) -- G. Branden Robinson | Damnit, we're all going to die; Debian GNU/Linux | let's die doing something *useful*! branden@debian.org | -- Hal Clement, on comments that http://people.debian.org/~branden/ | space exploration is dangerous
Attachment:
signature.asc
Description: Digital signature