2

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

注意:我确实在 Windows 上安装了 openssl,并且路径中有 evp.h

C:/Users/用户名/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
4

1 回答 1

3

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

  • setup-x86.exehttp://www.cygwin.com/下载最新版本的 Cygwin ( )
  • 照常完成安装过程,但在“选择包”部分搜索 openssl,然后安装这些库。
  • 在桌面上创建 Cygwin 快捷方式
  • 打开cygwin,在新目录下创建沙箱:cabal sandbox init
  • 阴谋集团安装希望

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

$ 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
于 2013-11-11T22:32:51.440 回答