C++ cryptopp外部库依赖项
我试图在Arch Linux(3.12.9)上通过cabal安装happstack server tls软件包,但出现以下错误:C++ cryptopp外部库依赖项,c++,cabal,archlinux,crypto++,happstack,C++,Cabal,Archlinux,Crypto++,Happstack,我试图在Arch Linux(3.12.9)上通过cabal安装happstack server tls软件包,但出现以下错误: Resolving dependencies... Configuring happstack-server-tls-7.1.0... Failed to install happstack-server-tls-7.1.0 Last 10 lines of the build log ( /home/boris/.cabal/logs/happstack-serve
Resolving dependencies...
Configuring happstack-server-tls-7.1.0...
Failed to install happstack-server-tls-7.1.0
Last 10 lines of the build log ( /home/boris/.cabal/logs/happstack-server-tls-7.1.0.log ):
Configuring happstack-server-tls-7.1.0...
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
setup-Cabal-1.16.0-x86_64-linux-ghc-7.6.3: Missing dependency on a foreign
library:
* Missing C library: cryptopp
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.
cabal: Error: some packages failed to install:
happstack-server-tls-7.1.0 failed during the configure step. The exception
was:
ExitFailure 1
在第一次看到此错误消息后,我通过pacman安装了crypto++
。但这对我没有帮助
我甚至试过:
$ whereis libcryptopp.a
libcryptopp: /usr/lib/libcryptopp.so
$ cabal install happstack-server-tls --extra-include-dirs=/usr/lib/ --extra-lib-dirs=/usr/lib/
但还是没有运气
我检查了crypto++库是否与这个test.cpp文件一起工作:
#include <iostream>
using std::cout;
using std::endl;
#include "cryptopp/integer.h"
using CryptoPP::Integer;
int main( int, char** ) {
Integer i;
cout << "i: " << i << endl;
return 0;
}
但是,还是没有运气
有人面对过这个问题吗?有什么解决办法吗 运行
cabal unpack happstack server tls
以获取并解压缩本地目录中的源代码。然后编辑happstack服务器tls.cabal并尝试删除以下行:
if !os(darwin)
Extra-Libraries: cryptopp
非常感谢你。它帮助了我。但为什么会这样?我不太确定。一些复杂的事情,包括链接和模板haskell和错误消息,我想?
if !os(darwin)
Extra-Libraries: cryptopp