在Mac OS X 10.10.5 Yosemite上,Binutils构建失败

时间:2015-08-22 03:02:40

标签: macos unix gnu binutils

下载GNU Binutils 2.25包后

我按照“安装Binutils”的说明进行操作:

./ cnofigure

构建后发生错误:

../../binutils-gdb/binutils/nm.c:1733:28: error: 'sbrk' is deprecated [-Werror,-Wdeprecated-declarations]
      char *lim = (char *) sbrk (0);

/usr/include/unistd.h:582:7: note: 'sbrk' has been explicitly marked deprecated here
void    *sbrk(int);

1 error generated.
make[4]: *** [nm.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-binutils] Error 2
make: *** [all] Error 2

我在网上做了一些研究,他们说使用这个命令

./ configure --prefix = / usr --disable-werror

我得到了

/Library/Developer/CommandLineTools/usr/bin/make  all-recursive   
make[8]: Nothing to be done for 'all-am'. 
make[1]: Nothing to be done for 'all-target'.

(这意味着“对于所有人和所有目标都没有什么可做的”)

我不知道该怎么办了。 这是一个错误还是我做错了什么?

请帮忙。

2 个答案:

答案 0 :(得分:1)

如果您在OSX上使用homebrew作为包管理器,那么您真的会让自己的生活更轻松。

转到homebrew website并将单行安装脚本复制并粘贴到终端。

然后您只需输入

即可安装binutils
brew install binutils

如果,想要找到GNU sed或ImageMagick,你可以这样做

brew search sed

brew search imagemagick

然后

brew install sed

如果您有任何问题,请运行

brew doctor

如果您想更新所有套餐,请运行

brew update
brew upgrade --all

更多很棒的想法和建议here

答案 1 :(得分:1)

构建失败后,您应该清除以前生成的目标文件

所以,

make clean

./configure --prefix=/usr --disable-werror

make