[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New version of haskell-devscripts



On Mon, Mar 30, 2009 at 09:59:05PM +0200, Joachim Breitner wrote:
> A quick check (trying to build xmonad without libx11-dev installed)
> indicates that this does not work indeed. But it???s not because the
> headers are missing, but the symlink
> /usr/lib/libX11.so -> libX11.so.6.2.0
> is used by /usr/bin/ld, which is called with -lX11. Is there a way to
> use ld without having the C libraries???s dev package installed?

I don't think that you should be trying that, even.  C -dev packages
aren't only about the header files.  It may simply have a symlink to
the corresponding shared library (as it almost always does), but it
could potentially have arbitrary instructions for the linker.  See,
for example, /usr/lib/libpthread.so.

C -dev libraries only depend on the corresponding C shared library and
other C -dev libraries, not on other C shared libraries.  The C shared
libraries depend on the other shared libraries that it uses.  But with
haskell libraries built with ghc, we'll need to merge these roles.
Any uses of a C shared library in a haskell library will depend on the
particular soname version of that library, but we'll need the -dev
package around to get the necessary information for the linker.  We
can't rely on the dependency that a C -dev package has on the C shared
library, since it can get updated to a new soname version, and the
parts in the haskell library wouldn't any longer be ABI compatible
with it.

C library package maintainers add the necessary dependencies on other
-dev packages by hand, too.  I don't think that I've seen anyone work
on anything to automate that.


Reply to: