libtool:link:warning:... / libstdc ++。la似乎被移动了

时间:2015-11-26 14:08:33

标签: libtool

我收到了很多关于此表单的警告(为了便于阅读而增加了换行符):

libtool: link: warning: `/usr/local/gcc-5.2.0/lib/gcc/x86_64-unknown-linux-gnu/
    5.2.0/../../../../lib64/libstdc++.la' seems to be moved

并且无法弄清楚为什么或警告是否相关。请注意,两个路径都会解析到同一位置。

1 个答案:

答案 0 :(得分:4)

事实证明,gcc-5.2.0的自定义安装使用以下libdir行安装了libstdc ++。la:

libdir='/usr/local/gcc-5.2.0/lib/../lib64'

但是当libtool链接到libstdc++.la时,它会使用警告中报告的路径(这也恰好是g++ --print-search-dirs输出的一部分 - 这可能是相关的。)

修复方法是将libdir中的libstdc++.la值更改为libtool搜索libstdc++.la的确切路径:

libdir='/usr/local/gcc-5.2.0/lib/gcc/x86_64-unknown-linux-gnu/5.2.0/../../../../lib64'

显然,libtool不会规范化或规范化路径并将它们作为字符串进行比较,从而产生错误。另请参阅a related thread on the libtool mailing list from 2006