编译curl库时出错

时间:2016-01-29 23:02:07

标签: linux gcc curl glibc

构建curl库时出现此错误消息:

  

libssl.a(s2_clnt.o):针对`.rodata'的重定位R_X86_64_32不能   在制作共享对象时使用;用-fPIC重新编译

我尝试使用-fPIC开关 - 没有任何帮助。编译之前openssl库没有任何错误。 make check也过去了。

信息:我正在针对curl的其他版本汇编glibc - ./configure$CPPFLAGS$LDFLAGS == {提供了包含路径{1}} [==这是新-L/usr/glibc-2.22/lib版本]

的路径

只有在使用新的glibc版本进行编译时才会抛出此错误。

2 个答案:

答案 0 :(得分:1)

当一个对象使用隐藏符号构建而另一个对象不构建时,会出现此类错误。

由于我看到你试图链接一个.a存档文件,即静态库,我认为静态库是使用不同于你使用curl的隐藏符号选项构建的。

我认为当一个对象使用PIC而另一个对象不使用时,你也可以得到它。要解决这个问题,请使用相同的PIC设置编译静态库和curl。

答案 1 :(得分:0)

以下是我过去几天收集的问题集的解决方案: several make issues...