У меня возникли проблемы со сборкой библиотеки hmatrix в OS X Lion. Глядя на файл .cabal, для него требуется библиотека gsl, поэтому я установил его с помощью macports. Файлы .a находятся в /opt/local/lib, а файлы .h — в /opt/local/include/gsl.
Как было предложено здесь, я изменил встроенный тип с Custom на Simple. . (без этого изменения я получаю аналогичную ошибку).
Когда я использую cabal configure, я получаю следующий вывод:
* Missing C library: gsl
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
Итак, я попробовал cabal --extra-include-dirs=/opt/local/include --extra-lib-dirs=/opt/local/lib configure, но все равно получаю ту же ошибку. Я могу скомпилировать и скомпоновать программу на языке C, включающую gsl. Какие файлы ищет клика? Если у меня есть нужные файлы, как мне сказать, как их найти?
libgsl.a — это универсальный двоичный файл:
$ file /opt/local/lib/libgsl.a
/opt/local/lib/libgsl.a: Mach-O universal binary with 2 architectures
/opt/local/lib/libgsl.a (for architecture x86_64): current ar archive random library
/opt/local/lib/libgsl.a (for architecture i386): current ar archive random library
ghc выглядит как 64-битный:
$ ghc --info
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts"," -fwrapv")
,("C compiler command","/usr/bin/llvm-gcc")
,("C compiler flags"," -m64 -fno-stack-protector -m64")
,("ar command","/usr/bin/ar")
,("ar flags","clqs")
,("ar supports at file","NO")
,("touch command","touch")
,("dllwrap command","/bin/false")
,("windres command","/bin/false")
,("perl command","/usr/bin/perl")
,("target os","OSDarwin")
,("target arch","ArchX86_64")
,("target word size","8")
,("target has GNU nonexec stack","False")
,("target has subsections via symbols","True")
,("Project version","7.4.2")
,("Booter version","7.4.2")
,("Stage","2")
,("Build platform","x86_64-apple-darwin")
,("Host platform","x86_64-apple-darwin")
,("Target platform","x86_64-apple-darwin")
,("Have interpreter","YES")
,("Object splitting supported","NO")
,("Have native code generator","YES")
,("Support SMP","YES")
,("Unregisterised","NO")
,("Tables next to code","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn")
,("Leading underscore","YES")
,("Debug on","False")
,("LibDir","/usr/local/Cellar/ghc/7.4.2/lib/ghc-7.4.2")
,("Global Package DB","/usr/local/Cellar/ghc/7.4.2/lib/ghc-7.4.2/package.conf.d")
,("Gcc Linker flags","[\"-m64\"]")
,("Ld Linker flags","[\"-arch\",\"x86_64\"]")
]
cabal install -v hmatrixувидеть шаг, который не удался? Это может помочь сузить проблему. - person John L   schedule 01.05.2013cabal install -v hmatrix, и это сработало. - person munk   schedule 01.05.2013