繁体   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