簡體   English   中英

Cabal在Windows Server 2008上安裝帶有64位OpenSSL庫的HsOpenSSL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM