我正在尝试使用 python 2.7 在 ubuntu 11.04 中安装 Charm crypto python 框架。要求说我应该安装 gmp 5.*。我已成功安装 gmp lib 并且已运行所有测试。也在运行后`
ldconfig -p |grep libgmp
libgmpxx.so.4 (libc6,x86-64) => /usr/lib/libgmpxx.so.4
libgmpxx.so (libc6,x86-64) => /usr/lib/libgmpxx.so
libgmp.so.10 (libc6,x86-64) => /usr/local/lib/libgmp.so.10
libgmp.so.3 (libc6,x86-64) => /usr/lib/libgmp.so.3
libgmp.so (libc6,x86-64) => /usr/local/lib/libgmp.so
libgmp.so (libc6,x86-64) => /usr/lib/libgmp.so
为了安装 Charm,我从以下位置下载了它这里。我运行./configure, make , make install
,sdconfig
正如安装所说。
但是在运行 make test 之后,我收到了很多这种形式的错误:
charm/Charm-Crypto-0.43/charm/core/math/integer.so: undefined symbol: __gmpz_powm_sec
Charm 共享库找不到 libgmp。我该如何解决这个问题?我制作了一个ldd integer.so,它使用libgmp.so.3。在我的系统中,libgmp.so.3 位于 /usr/lib 下,因此在 Charm 框架的 config.mk 文件下添加了这一行:
LDFLAGS= -m64 -L/usr/lib .
(-m64 已经存在)。我make
又make install
犯了同样的错误
答案1
可能只是您没有安装 gmp 的开发库,请尝试:
sudo apt-get install libgmp-dev
然后重新进行配置/制作/等等。为了魅力
答案2
我在构建 mpfr 时也遇到了同样的问题。我libgmp.so
的在/usr/local/lib
.运行以下命令解决了该问题:
sudo ldconfig -n /usr/local/lib
或者,您可以在此处编辑/etc/ld.so.conf
并添加lib
目录路径,或者仅将所有文件复制/usr/local/lib
到/usr/lib
。