Dynamic libraries on Mac
Kazu Yamamoto ( 山本和彦 )
kazu at iij.ad.jp
Mon Sep 9 06:54:06 UTC 2013
Hi,
I built GHC head today (with d61c3ac186c94021c851f7a2a6d20631e35fc1ba
reverted). While I'm supporting GHC head for "doctest" on Mac, I found
the following problems relating to dynamic linking:
(1) Every ".dylib" installed with GHC head refers to itself in its
build directory. E.g.
% otool -L libHSbase-4.7.0.0-ghc7.7.20130909.dylib | grep base
libHSbase-4.7.0.0-ghc7.7.20130909.dylib:
/Users/kazu/work/ghc/libraries/base/dist-install/build/libHSbase-4.7.0.0-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
(2) Some ".dylib" installed with GHC head refers to other libraries in their
build directories. E.g.
% otool -L libHSvector-0.9.1-ghc7.7.20130909.dylib | grep /Users
/Users/kazu/work/ghc/libraries/vector/dist-install/build/libHSvector-0.9.1-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/kazu/work/ghc/libraries/primitive/dist-install/build/libHSprimitive-0.4.0.1-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
(3) All user installed libraries by cabal-install refer to
other libraries in their build directories. E.g.
% otool -L libHSghc-paths-0.1.0.9-ghc7.7.20130909.dylib| grep Users
/Users/kazu/Library/Haskell/ghc-7.7.20130909/lib/ghc-paths-0.1.0.9/lib/libHSghc-paths-0.1.0.9-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/kazu/work/ghc/libraries/base/dist-install/build/libHSbase-4.7.0.0-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/kazu/work/ghc/libraries/integer-gmp/dist-install/build/libHSinteger-gmp-0.5.1.0-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
/Users/kazu/work/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.3.1.0-ghc7.7.20130909.dylib (compatibility version 0.0.0, current version 0.0.0)
This means that programs complied GHC head do not work if I execute
"make clean" in the GHC build directory.
--Kazu
More information about the ghc-devs
mailing list