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. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]
