因此,今晚对这个问题进行了一些详尽的研究后,我仍然感到困惑。我正在运行 Debian Wheezy,并且试图让curl 支持 ssl,但它显然拒绝这样做。我尝试删除 OpenSSL 和 Curl 的所有痕迹。然后使用 apt-get install OpenSSL,它会安装“OpenSSL 1.0.1e”。然后我尝试从源代码编译curl,认为apt-get 安装curl 可能只是愚蠢的行为。我尝试使用这个进行配置。
./configure --with-ssl LDFLAGS="-ldl"
因为否则它会传递一些错误。如果没有 LDFLAGS,我会将其记录在我的日志中。配置日志 http://pastebin.com/dY2qkW99但正如我所说,在打开 LDFLAGS 的情况下,我能够实际创建配置,但是当我去制作时……好吧……那就是所有的事情似乎都崩溃了,她不会安装。
/usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(ecp_nistz256.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libcrypto.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libcurl.la] Error 1
make[2]: Leaving directory `/home/openssl/curl-7.27.0/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/openssl/curl-7.27.0/lib'
make: *** [all-recursive] Error 1
经过一番研究,有人建议使用 -fPIC 构建 OpenSSL。所以我从系统中清除了 OpenSSL 并尝试从源代码安装,选择从此链接安装版本 1.0.2https://www.openssl.org/source/openssl-1.0.2.tar.gz https://www.openssl.org/source/openssl-1.0.2.tar.gz
这实际上进展顺利,我确保包含 -fPIC 标志。然后我再次安装 Curl,但最终还是出现了这个错误.. 这很奇怪.. 所以现在我坐在这里摸不着头脑。我已经卸载、重新安装、重新编译、安装并完成了所有我能想到的事情,但我仍然很困惑。
抱歉,如果我今晚的格式很糟糕,那对我来说已经太晚了。但如果有人能帮助我,我将不胜感激。
/usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(ecp_nistz256.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libcrypto.a: could not read symbols: Bad value
重建 OpenSSL 的本地副本-fPIC
。本地副本位于/usr/local/ssl/lib/
.
我也在 Fedora 上看到过这个问题。有时你可以用以下方法修复它export CFLAGS=-fPIC
。其他时候需要修改Makefile.org
所以它的现在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)