【问题标题】:error while compiling curl library编译 curl 库时出错
【发布时间】:2016-01-29 23:02:06
【问题描述】:

我在构建 curl 库时收到此错误消息:

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

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

信息:我正在针对另一个版本的 glibc 编译 curl - 包含路径在 ./configure 中提供,$CPPFLAGS$LDFLAGS == -L/usr/glibc-2.22/lib [== 这是路径新的glibc 版本]

只有在我用新的glibc 版本编译时才会抛出这个错误。

【问题讨论】:

    标签: linux gcc curl glibc


    【解决方案1】:

    当一个对象是用隐藏符号构建的而另一个不是时,你会得到这种错误。

    由于我看到您正在尝试链接 .a 存档文件(又名静态库),因此我假设静态库是使用与您使用 curl 不同的隐藏符号选项构建的。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-15
        • 2015-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多