Dynamic libraries by default and GHC 7.8
Simon Marlow
marlowsd at gmail.com
Thu Nov 29 09:29:11 CET 2012
On 28/11/12 23:15, Johan Tibell wrote:
> What does gcc do? Does it link statically or dynamically by default?
> Does it depend on if it can find a dynamic version of libraries or
> not?
If it finds a dynamic library first, it links against that.
Unlike GHC, with gcc you do not have to choose at compile-time whether
you are later going to link statically or dynamically, although you do
choose at compile-time to make an object for a shared library (-fPIC is
needed).
When gcc links dynamically, it assumes the binary will be able to find
its libraries at runtime, because they're usually in /lib or /usr/lib.
Apps that ship with their own shared libraries and don't install into
the standard locations typically have a wrapper script that sets
LD_LIBRARY_PATH, or they use RPATH with $ORIGIN (a better solution).
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list