在Windows上安装hoperssl

时间:2013-11-11 20:46:32

标签: haskell openssl cabal

我正试图在Windows上安装hopenssl并收到此错误(见下文)

注意:我在Windows上安装了openssl,并在路径

中安装了evp.h
  

C:/Users/username/Desktop/src/openssl/0.9.8h/openssl-0.9.8h/outinc/openssl /

为什么cabal不能识别安装路径?

$ cabal install hopenssl \
  --extra-include-dirs=C:/Users/username/Desktop/src/openssl/0.9.8h/openssl-0.9.8h/outinc/openssl/ \
  --extra-lib-dirs=C:/Users/username/Desktop/src/openssl/0.9.8h/openssl-0.9.8h/outinc/openssl/

cabal.exe: Missing dependency on a foreign library:

* Missing (or bad) header file: openssl/evp.h
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
If the header file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
cabal.exe: Error: some packages failed to install:
hopenssl-1.6.2 failed during the configure step. The exception was:
ExitFailure 1

1 个答案:

答案 0 :(得分:3)

通过执行以下操作,在Windows(32位)上安装了hopenssl:

  • http://www.cygwin.com/
  • 下载最新版本的Cygwin(setup-x86.exe
  • 正常完成安装过程,但在“选择软件包”部分时搜索openssl,并安装这些库。
  • 在桌面上创建Cygwin快捷方式
  • 打开cygwin,在新目录中创建一个沙箱:cabal sandbox init
  • cabal install hopenssl

如果一切顺利,您应该看到以下输出:

$ cabal install hopenssl
Resolving dependencies...
Configuring hopenssl-1.6.2...
Building hopenssl-1.6.2...
Preprocessing library hopenssl-1.6.2...
[1 of 3] Compiling OpenSSL.Digest   ( OpenSSL\Digest.hs, dist\dist-sandbox-fef81833\build\OpenSSL\Digest.o )
[2 of 3] Compiling OpenSSL.Digest.ByteString ( OpenSSL\Digest\ByteString.hs, dist\dist-sandbox-fef81833\build\OpenSSL\Digest\ByteString.o )
[3 of 3] Compiling OpenSSL.Digest.ByteString.Lazy ( OpenSSL\Digest\ByteString\Lazy.hs, dist\dist-sandbox-fef81833\build\OpenSSL\Digest\ByteString\Lazy.o )
In-place registering hopenssl-1.6.2...
Installing library in
C:\cygwin\home\cspp\test\.cabal-sandbox\i386-windows-ghc-7.6.3\hopenssl-1.6.2
Registering hopenssl-1.6.2...
Installed hopenssl-1.6.2