Сбой сборки Binutils в Mac OS X 10.10.5 Yosemite

После загрузки пакета 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'.

(что это значит "ничего не поделаешь для всех-есть и все-цель")

Я больше не знаю, что делать. Это баг или я что-то не так делаю?

Пожалуйста помоги.


person Omnik    schedule 22.08.2015    source источник


Ответы (2)


Вы действительно облегчили бы себе жизнь, если бы использовали homebrew в качестве менеджера пакетов в OSX.

Перейдите на веб-сайт homebrew, скопируйте и вставьте однострочный скрипт установки в терминал.

Затем вы можете установить binutils, просто набрав

brew install binutils

Если в будущем вы захотите найти GNU sed или ImageMagick, вы можете просто сделать

brew search sed

or

brew search imagemagick

тогда

brew install sed

Если у вас есть какие-либо проблемы, просто запустите

brew doctor

Если вы хотите обновить все свои пакеты, просто запустите

brew update
brew upgrade --all

Другие интересные идеи и предложения здесь.

person Mark Setchell    schedule 22.08.2015
comment
спасибо за пост. Теперь я успешно установил binutils, но как мне запустить инструменты внутри него? Например, если я хочу запустить objdump, понятия не имею, как заставить его работать. - person Omnik; 23.08.2015
comment
о, я сам разобрался, все инструменты имеют префикс «g» objdump становится gobjdump, ar -> gar (хотя я понятия не имею, почему раньше добавлялась буква «g»). Но теперь я могу использовать все инструменты. Еще раз спасибо за пост. - person Omnik; 23.08.2015

После сбоя сборки вы должны очистить ранее созданные объектные файлы.

So,

make clean

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

make
person Prashant Nidgunde    schedule 13.01.2017