我正试图在Windows上安装hopenssl并收到此错误(见下文)
注意:我在Windows上安装了openssl,并在路径
中安装了evp.hC:/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
答案 0 :(得分:3)
通过执行以下操作,在Windows(32位)上安装了hopenssl:
setup-x86.exe
)
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