2012-01-11 2 views
1

Я пытаюсь следовать за tutorial для библиотеки Diagrams для haskell.Проблемы с построением, используя macports libs с GHC

Я установил Cairo и gtk2hs с macports.

Но когда я пытаюсь запустить примеры учебник, я получаю следующее сообщение об ошибке:

$ ghc --make diagramsTutorial.lhs 
Linking diagramsTutorial ... 
ld: warning: in /opt/local/lib/libgtk-x11-2.0.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
ld: warning: in /opt/local/lib/libgdk-x11-2.0.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
ld: warning: in /opt/local/lib/libatk-1.0.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
ld: warning: in /opt/local/lib/libpangocairo-1.0.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
.. etc... 

Я использую OS X 10.6.8, Core i5 Macbook Pro.

EDIT Я только что обнаружил, что использую 32-битную платформу haskell, которая может быть частью проблемы. Однако я не могу установить 64-битную версию (во время установки она имеет неуказанную ошибку). Я не могу найти деинсталлятор. Согласно this page, я должен найти деинсталлятор на /Library/Frameworks/GHC.framework/Tools/Uninstaller, но там ничего нет.

ответ

2

Похоже, что библиотеки Macports имеют только 64-разрядные версии. Вы можете проверить это с помощью lipo -info /opt/local/lib/libgtk-x11-2.0.dylib. Если это так, вы должны переустановить их с помощью универсального варианта +, который позволит связывать как 32-битный, так и 64-битный код.

+0

Спасибо, это было в значительной степени. –