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

Binutils build fails on Mac OS X 10.10.5 Yosemite

GNU Binutils 2.25下载包后

我按照 "Installing 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'.

(什么意思"nothing to be done for all-am and all-target")

我不知道该怎么办了。 是bug还是我做错了什么?

请帮忙。

如果您在 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

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

所以,

make clean

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

make