如何在Mac OS X 10.6上安装GNU ld?

10
我在我的Macbook Pro(带有Mac OS X 10.6)上编译Contiki OS时遇到了很多麻烦。Contiki实际上使用了很多GCC、AR、LD等GNU特定的功能和选项。因此,我通过macports安装了这些实用程序,但看起来"port install binutils"没有安装GNU ld,是吗?
那么,问题是,我如何在我的Mac上获得GNU ld?除了艰难的方式(即wget,configure,make,make install方式)外,是否有简单的替代方法?

“困难”的方式并不那么困难……(当然,除非出了问题) - Bob Aman
当然可以;但在这种情况下,我非常怀疑我能获得比macport更好的结果(因为macports确实执行“wget && configure && make”操作)。 - Gyom
相关:http://stackoverflow.com/questions/23290431/ld-linking-error-while-compiling-z3 - 0 _
相关:https://dev59.com/0mDVa4cB1Zd3GeqPc14Q - 0 _
2个回答

11
据我所知,GNU binutils不支持 Mach-O 格式。文档 中没有提及,通过一些谷歌搜索可以发现一些 近期信息 表明它不受支持。
现在,您提到了 Contiki 操作系统,这看起来像是一个嵌入式操作系统。您是需要编译为本地可执行文件,还是尝试为其他环境进行交叉编译?MacPorts 包括几个binutils端口 以进行交叉编译。

我的长期目标当然是进行交叉编译。但首先我想尝试“本地平台”目标,以便熟悉编程模型等内容。然而,看起来越来越像“本地”意味着“GNU/Linux”,只有“GNU/Linux” :-( - Gyom
看起来你是对的;他们似乎需要GNU工具链,这通常意味着Linux或Cygwin。您可以在虚拟机上安装Linux。我曾经成功地将Ubuntu服务器版(因为它比桌面版更轻量级,不包括所有桌面软件)安装到VirtualBox VM http://www.virtualbox.org/ 上,以获得快速简便的免费Linux VM。 - Brian Campbell
谢谢你的帮助。我现在开始在虚拟机中使用Debian。毕竟,随手拥有一个Linux环境可能会很酷。 - Gyom

2
$ port info binutils (…) 工具都以 g 作为前缀,以避免与原始工具发生冲突。 (…)

当然可以,但是:%ls /opt/local/var/macports/software/binutils/2.19_0/opt/local/bin gaddr2line gnm granlib gstrings gar gobjcopy greadelf gstrip gc++filt gobjdump gsize - Gyom
% ls /opt/local/bin/gld ls: /opt/local/bin/gld: 没有那个文件或目录 - Gyom
1
长话短说,所有东西都在那里,但是缺少ld,因此我有问题。 - Gyom
1
啊哈,你说得对。我刚刚安装了binutils,也没有gld。对于这个错误的追踪我很抱歉。 - zoul
1
没问题 :-) 但是你知道它们出了什么问题吗?为什么binutils安装不了“ld”呢? - Gyom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接