Я на Mac под управлением OS-X High Sierra и хотел создать отдельную сборку gcc. Позвольте мне немного рассказать о процессе, который у меня занял неделю, чтобы помочь другим:
Я создал безопасный каталог "gcc" и использовал svn, чтобы получить последний исходный код от gcc, который он создал в подкаталоге "trunk". Сначала я создал каталог с именем "build" на верхнем уровне транка.
Он не скомпилировался бы без 4-х зависимостей, поэтому я запустил предварительные условия ./contrib/download, чтобы получить их, но все равно не скомпилировал, поэтому я вошел в каждый из этих 4-х каталогов по отдельности и сделал ./configure, ./make, ./make install и ./make check. Я выполнил установку, потому что даже эти зависимости зависели друг от друга, поэтому установка казалась безопасным способом убедиться, что их можно найти. Позже я узнал, что нет другого пути, несмотря на инструкции об обратном ...
Мне удалось построить зависимости GMP, MPFR, ISL и MPC. Затем я вернулся к ./build и ../configure преуспел, но сборка (make) быстро потерпела неудачу, говоря: «Исходный каталог уже настроен; сначала запустите« make distclean там ». Поиск в Google показал, что это было при настройке в исходном каталоге Я подумал, что, возможно, мой каталог trunk / build считается «в исходном каталоге», поэтому я переместил его и повторил попытку, и произошло то же самое. Когда я попытался перейти в транк и ввести «make distclean», мне просто сказали, что нет правила для сделать цель нечистой.
Так что я подумал, может быть, это 4 каталога зависимостей? Может быть, теперь, когда они установлены, их всех можно безопасно очистить? Там, сделай, чтобы distclean работал и вынул все - даже тесты, которые я провел. Кажется расточительным и требует предварительной установки, но это сработало.
Вернувшись в сборку, make затем запустил некоторую серьезную работу по компиляции во время make, но вылетел, сказав, что «каталог, который должен содержать системные заголовки, не существует: /usr/include".
Как мне это загрузить? Где я могу найти системные заголовки для копирования в / usr / include? И будет ли у меня такая же проблема с отсутствующими libc и библиотеками позже? Кроме того, если я хочу перенести это на новый компьютер без перекомпоновки, что мне нужно копировать, кроме исполняемых файлов и заголовков? И куда бы я их положил?
Спасибо за любой совет ...
- Джефф