Cabal在Windows Server 2008上安装带64位OpenSSL LIB的HsOpenSSL
我有一个haskell项目,我正试图在Windows 2008 64位上构建它。其中一个依赖项是Cabal在Windows Server 2008上安装带64位OpenSSL LIB的HsOpenSSL,windows,haskell,openssl,Windows,Haskell,Openssl,我有一个haskell项目,我正试图在Windows 2008 64位上构建它。其中一个依赖项是HsOpenSSL(不要与hopenssl混淆)。根据GHC文档,为了使安装顺利进行,必须从这里安装openssl的二进制发行版:并在cabal安装过程中进行如下链接: cabal install HsOpenSSL --extra-include-dirs="c:/OpenSSL-Win32/include" --extra-lib-dirs="c:/OpenSSL-Win32" 现在,当我尝试安
HsOpenSSL
(不要与hopenssl混淆)。根据GHC文档,为了使安装顺利进行,必须从这里安装openssl的二进制发行版:并在cabal安装过程中进行如下链接:
cabal install HsOpenSSL --extra-include-dirs="c:/OpenSSL-Win32/include" --extra-lib-dirs="c:/OpenSSL-Win32"
现在,当我尝试安装64位二进制发行版并安装HsOpenSSL w/it时,问题就出现了
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
install目录中删除此目录后,当链接到32位libs时,HsOpenSSL仍然可以正常安装。所以我认为这种差异似乎并不重要。所有这些问题,HsOpenSSL是否与openssl的64位libs兼容?我所做的有什么明显的错误吗
我使用的是Cygwin、cabal 1.18.0.2、ghc 7.6.3、openSSL 1.0.1e版四年后,但我刚刚遇到了同样的问题,所以我想它仍然相关。 我下载了最新的Win64OpenSSL二进制文件,并在上手动克隆了HsOpenSSL repo,从而解决了这个问题。 然后我打开了HsOpenSSL.cabal文件,并将第94行从
Extra-Libraries: eay32 ssl
致:
最后,打开cmd并将repo设置为当前目录。然后使用
cabal-configure--extra-include-dirs=“c:/OpenSSL-Win64/include”--extra-lib-dirs=“c:/OpenSSL-Win64/lib”
和cabal-install
来安装库。您使用的是64位GHC吗?目前还没有原生的64位Haskell平台安装程序(这是罪魁祸首)。但是Windows有一个64位GHC:如果要链接64位库,需要一个64位GHC。@MikhailGlushenkov将Haskell平台当前移植到64位版本需要多少工作?我不介意参与其中。无论如何我都需要它。试着按照这里的步骤:这是我用来生成安装程序的过程。如果成功,请给我一个便笺或执行拉取请求。关于缺少的ar
,您可能需要将$GHC_DIR/mingw/bin
添加到路径
。不幸的是,这对我的堆栈不起作用。仍然得到“丢失的C库”。还尝试了32位版本的OpenSSL。
Extra-Libraries: libeay32 ssleay32