我试图从源代码构建朱莉娅,但是运行make会返回以下错误:
/usr/bin/ld: /usr/local/lib/libcrypto.a(poly1305-x86_64.o): relocation R_X86_64_PC32 against symbol `poly1305_blocks' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value我在libssl中得到了一个类似的错误,所以我将-fPIC添加到openssl Makefile中。但是,在得到与libcrypto相同的错误后,我将-fPIC添加到crypto Makefile中,并再次从源代码构建openssl。但我无法克服这个错误。
如何用-fPIC重建libcrypto?
发布于 2016-05-01 11:16:41
别难过,这是OpenSSL中的一个bug!当我试图使用OpenSSL作为共享库时,我发现了它,希望这个修补程序能有所帮助:)
https://github.com/openssl/openssl/issues/744
的评论
在crypto/poly1305/asm/poly1305-x86_64.pl开头的某个地方,您可以找到
.globl poly1305_init
.globl poly1305_blocks
.globl poly1305_emit添加以下行应该会有所帮助
.hidden poly1305_blocks
.hidden poly1305_emit测试并汇报。
https://askubuntu.com/questions/738845
复制相似问题