[英]Cabal installing HsOpenSSL w/ 64-bit OpenSSL libs on Windows Server 2008
我有一個haskell項目,我正在嘗試在Windows 2008 64位上構建。 其中一個依賴項是HsOpenSSL
(不要混淆w / hopenssl)。 根據GHC文檔,為了使這個安裝順利進行,必須從這里安裝openssl的二進制發行版: http : //slproweb.com/products/Win32OpenSSL.html並在cabal安裝過程中鏈接如下:
cabal install HsOpenSSL --extra-include-dirs="c:/OpenSSL-Win32/include" --extra-lib-dirs="c:/OpenSSL-Win32"
現在,當我嘗試安裝64位二進制發行版並安裝HsOpenSSL時出現問題。
cabal install HsOpenSSL --extra-include-dirs="c:/OpenSSL-Win64/include" --extra-lib-dirs="c:/OpenSSL-Win64"
這仍然會引發以下錯誤:
Resolving dependencies...
Configuring HsOpenSSL-0.10.3.5...
cabal.exe: Missing dependencies on foreign libraries:
* Missing C libraries: eay32, ssl32
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
Failed to install HsOpenSSL-0.10.3.5
cabal.exe: Error: some packages failed to install:
HsOpenSSL-0.10.3.5 failed during the configure step. The exception was:
ExitFailure 1
在檢查目錄(OpenSSL-Win32和OpenSSL-Win64)之后,目錄顯然完全相同,只有一個小的區別。 OpenSSL-Win64/libs/
沒有MinGW文件夾,但OpenSSL-Win32/libs/
有一個。 從OpenSSL-Win32
安裝目錄中刪除此目錄后,HsOpenSSL在與32位庫鏈接時仍然可以正常安裝。 所以我不認為這種差異似乎很重要。 要問的是,HsOpenSSL是否與openssl的64位庫兼容? 我正在做的事情有什么明顯的錯誤嗎?
我正在使用Cygwin,cabal 1.18.0.2,ghc 7.6.3,openSSL版本1.0.1e
這是四年之后,但我剛遇到同樣的問題所以我猜它仍然相關。 我通過下載最新的Win64OpenSSL二進制文件解決了這個問題,並在https://github.com/vshabanov/HsOpenSSL上手動克隆了HsOpenSSL存儲庫。 然后我打開了HsOpenSSL.cabal文件並更改了第94行
Extra-Libraries: eay32 ssl
至:
Extra-Libraries: libeay32 ssleay32
最后,打開cmd並使repo成為當前目錄。 然后使用cabal configure --extra-include-dirs="c:/OpenSSL-Win64/include" --extra-lib-dirs="c:/OpenSSL-Win64/lib"
和cabal install
來安裝庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.