【发布时间】:2015-01-26 10:26:18
【问题描述】:
我正在尝试在 Solaris 10 sparc 上编译 Python 3.2.3,并且配置脚本在早期阶段失败(“检查 C 编译器是否工作”)。
检查 config.log 表明原因是 gcc 使用 /usr/ccs/bin 下的 Solaris 链接器而不是 GNU 链接器,并尝试传递不受支持的链接器标志。我也安装了 GNU ld,并将它设置为指向其 bin 目录的 PATH(它比 /usr/ccs/bin 更早列出)。
我的问题是如何强制 gcc 使用 GNU 链接器。我还没有找到任何简单的解决方案。
我认为这个问题与 python 没有严格的关系,我之前使用 autoconf 的其他软件也遇到过同样的问题。
【问题讨论】:
-
在构建 gcc 时选择使用哪个链接器。稍后尝试更改它是行不通的。所以问题是:你的 gcc 来自哪里?什么 config.log 消息让您相信这是问题所在?
-
自建gcc。当我编译它时,我添加了 --with-gnu-ld 标志,希望它能解决我的问题,但没有运气。
-
啊,所以编译一个简单的 helloworld 也可能会失败,那么这与 python 无关吗?您是否使用了 --with-ld=/path/to/the/right/ld?您是否有特殊原因要使用 GNU ld,但在 solaris 上不推荐使用它?
-
不,Solaris ld 对我来说也可以,如果它可以工作的话。以前,我尝试过在没有 gnu ld 选项的情况下编译的 gcc,结果相同。之后,我使用上述选项重建了 gcc。所以简而言之,如果我可以使配置不产生任何与 sun ld 不兼容的链接器标志,我也会很高兴。我将尝试在没有 gnu ld 选项的情况下再次构建 gcc。
-
我已经重新编译了我的 gcc 以使用 solaris 链接器,看来问题已经消失了。谢谢指点。
标签: gcc linker solaris autoconf