Skip to content

Template Haskell needs extra library dirs

Template Haskell fails to link c libraries which are located in non-standard locations. On my system, gtk libraries are installed in /opt/local/lib; ghc-pkg describe reports:

library-dirs: /Users/kathleenhouse/.cabal/lib/cairo-0.12.1/ghc-7.2.1
              /opt/local/lib

and building ordinary Haskell packages with cairo/gtk works properly.

However, if a package imports Cairo, Template Haskell fails to find the C library. The error (from ghc) is:

Loading package cairo-0.12.1 ... <command line>: can't load .so/.DLL for: libcairo.dylib (dlopen(libcairo.dylib, 9): image not found)
cabal: Error: some packages failed to install:
Trac metadata
Trac field Value
Version 7.2.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Template Haskell
Test case
Differential revisions
BlockedBy
Related
Blocking
CC jwlato@gmail.com
Operating system Unknown/Multiple
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information