[Haskell-cafe] Cabal bug? (was Re: Cabal: --enable-shared and executables)
Albert Y. C. Lai
trebla at vex.net
Sun Nov 3 22:05:40 UTC 2013
On 13-11-03 01:46 AM, Magnus Therning wrote:
> Is there already a way to get Cabal to put in an RPATH such that an *installed*
> executable works correctly, or is this a fairly serious bug in Cabal?
It is usually desirable to set RPATH to libs' installation locations
rather than libs' build trees, and I think I prefer it too. But the
exception is during "cabal test", when you should test against libs in
the build tree. It is somewhat a dilemma.
It is, in fact, sad that we have to set RPATH at all, and we have to
because Haskell libs are not common, and they are not dumped directly
into /usr/lib and /usr/local/lib. (They are, instead, scattered over
/usr/local/lib/p-n/ghc-m, for wide ranges of values of p, n, and m.) If
not for this, we would set no RPATH, we would do nothing special for
installations, and we just had to play with LD_LIBRARY_PATH or
LD_RUN_PATH or something during testing.
(I would, in fact, not mind that organization, if symlinks were set up
directly in /usr/local/lib. Note: the filename is already
libHSp-n-ghcm.so, it already records p, n, and m, there is no clash
putting that name right into /usr/local/lib alongside siblings and
cousins --- well, no more clash than the /usr/local/lib/p-n/ghc-m scheme.)
More information about the Haskell-Cafe