我正在尝试在64位FC16机器上安装openssl1.0.1e。我已经在我的机器上安装了一个旧版本(1.0.0j)。我的应用程序有一些内存损坏,并试图通过valgrind工具调试它。 Valgrind为openssl函数显示了大量“未初始化的变量”消息,我希望通过安装启用了PURIFY宏的最新openSSL来抑制这些消息。我正在使用以下命令安装它
./config -DPURIFY shared
make
make
正在停止安装并抛出以下错误:
/usr/bin/ld: libcrypto.a(e_4758cca.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
libcrypto.a(e_4758cca.o): could not read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: *** [link_a.gnu] Error 1
make[4]: Leaving directory `/home/downloads/openssl-1.0.1e'
make[3]: *** [do_linux-shared] Error 2
make[3]: Leaving directory `/home/downloads/openssl-1.0.1e'
make[2]: *** [libcrypto.so.1.0.0] Error 2
make[2]: Leaving directory `/home/downloads/openssl-1.0.1e'
make[1]: *** [shared] Error 2
make[1]: Leaving directory `/home/downloads/openssl-1.0.1e/crypto'
make: *** [build_crypto] Error 1
出现此错误的原因是什么?
提前致谢!