我正在尝试从源代码构建和测试 python Charm 加密库。它编译并安装正常,但undefined symbol: BN_is_negative
运行时出现 91 种情况sudo make test
:
/charm/charm/core/math/elliptic_curve.so:未定义符号:BN_is_negative !!!!!!!!!!!!!!!!!!!!!中断:收集期间出现 91 个错误!!!!!!!!!!!!!!!!!! =================================================== ================================== 3.36 秒内出现 91 个错误`
libcrypto 1.1 定义了这个函数。
$ objdump -T /usr/local/lib/libcrypto.so.1.1 | grep BN_is_negative 00000000000c5880 g DF .text 000000000000000b OPENSSL_1_1_0 BN_is_negative
但是,问题似乎是共享库integer.so
并elliptic_curve.so
指向 libcrypto.so.1.0 ,其中/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
未定义符号BN_is_negative
。
我尝试查看 LD_FLAGS 和配置脚本,尝试使其指向 libcrypto 的 /usr/local/lib ,但没有任何乐趣。如何设置正确的共享库位置?
charm-crypto 分支:2.7-dev
操作系统:Ubuntu 16.04.3 LTS
编辑 我尝试按照以下建议进行清理和重建,但仍然存在同样的问题
$ sudo ./configure.sh --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
Install prefix /usr/local
data directory /usr/local/share/charm
binary directory /usr/local/bin
library directory /usr/local/lib
config directory /usr/local/etc
Source path /media/dough/Storage/repos/tools/charm
CFLAGS -O2 -g
CHARM_CFLAGS -m64 -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -I/usr/local/include -fstack-protector-all -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits
LDFLAGS -m64 -L/usr/local/lib
make make
python /usr/bin/python
python-config /usr/bin/python-config
build_ext options build_ext
install install
host CPU x86_64
wget /usr/bin/wget
gprof enabled no
profiler no
static build no
-Werror enabled no
integer module yes
ecc module yes
pairing module yes
disable benchmark no
libm found yes
libgmp found yes
libpbc found yes
libcrypto found yes
Documentation no