Openssl-1.0.0c编译报错 libcrypto.so: undefined reference to `ENGINE_load_aep'的问题

来源:互联网 发布:王铁崖 知乎 编辑:程序博客网 时间:2024/06/05 08:05

环境:centos5.5  gcc


1.下载解压Openssl-1.0.0c
2.配置,执行:./config

3.查看Makefile的OPTIONS选项,这里我配置成编译动态库,如果是编译静态库,应该就不会报这个错。

OPTIONS=enable-shared -Wa,--noexecstack no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-store no-zlib no-zlib-dynamic no-static-engine

4.找到 CFLAG 变量,在变量的最后加上:-DOPENSSL_NO_STATIC_ENGINE 保存退出,再编译即可。


报错信息:

../libcrypto.so: undefined reference to `ENGINE_load_atalla'
../libcrypto.so: undefined reference to `ENGINE_load_4758cca'
../libcrypto.so: undefined reference to `ENGINE_load_gost'
../libcrypto.so: undefined reference to `ENGINE_load_padlock'
../libcrypto.so: undefined reference to `ENGINE_load_nuron'
../libcrypto.so: undefined reference to `ENGINE_load_sureware'
../libcrypto.so: undefined reference to `ENGINE_load_chil'
../libcrypto.so: undefined reference to `ENGINE_load_cswift'
../libcrypto.so: undefined reference to `ENGINE_load_aep'
../libcrypto.so: undefined reference to `ENGINE_load_ubsec'
collect2: ld 返回 1
make[2]: *** [link_app.gnu] 错误 1

其他配置参考:

LIBS=   libcrypto.a libssl.a
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
SHARED_SSL=libssl$(SHLIB_EXT)
SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL)
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so


声明的头文件:

openssl-1.0.1c/include/openssl/engine.h  约 335行


0 0
原创粉丝点击