Теперь, когда временные библиотеки C были установлены, мы хотим чтобы все оставшиеся в этой главе пакеты компоновались с использованием уже установленных библиотек. Чтобы обеспечить это, мы должны настроить specs файл компилятора.
Для начала установим откорректированый компоновщик запуском следующей команды в директории binutils-build:
make -C ld install
|
Мы установили откорректированый компоновщик вместо того, который был установлен на первом шаге сборки Binutils. С этого момента все пакеты быдут собраны только с использованием библиотек из /tools/lib.
Замечание: Если вы пропустили предупреждение о том, что не надо было удалять директории с исходниками и сборкой Binutils из первого шага или у вас нет доступа к ним, не беспокойтесь, не все потеряно. Просто проигнорируйте вышеприведенную команду. В результате появится небольшой шанс, что программы будут скомпонованы с использованием библиотек основной системы. Это не очень хорошо, но тем не менее не является такой уж большой проблемой. Ситуация будет исправлена позже на втором шаге установки Binutils.
Теперь, когда установлен откорректированый компоновщик, вы можете удалить директории с исходниками и сборкой Binutils.
Следующим нашим действием будет исправление specs-файла GCC для задания расположения нашего компоновщика. Просто выполните следующую команду:
SPECFILE=/tools/lib/gcc-lib/*/*/specs &&
|
Мы рекомендуем просто скопировать и вставить вышеуказанное вместо того, чтобы просто вводить. Или, при желании, вы можете просто отредактировать specs-файл вручную: замените встречающиеся строки "/lib/ld-linux.so.2" на "/tools/lib/ld-linux.so.2".
Важно: Если вы работаете на платформе, где имя динамического компоновщика отлично от ld-linux.so.2, вы должны заменить ld-linux.so.2 на имя динамического компоновщика вашей платформы в вышеуказанных командах. При необходимости вернитесь к разделу "Технические моменты".
Есть возможность, что некоторые включаемые файлы из основной системы имеются внутри директорий для включаемых файлов GCC. Это могло произойти по причине того, что процесс "fixincludes" запускается как часть сборки GCC. Позже мы раскажем об этом подробнее в этой главе. А пока запустите следующую команду, чтобы исключить эту возможность:
rm -f /tools/lib/gcc-lib/*/*/include/{pthread.h,bits/sigthread.h}
|
Теперь мы закончили установку самодостаточных средств, и они будут использованы для сборки оставшихся временных средств.