WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Пакет GCC содержит коллекцию компиляторов
GNU, включая компиляторы C и C++. Расчетное время сборки 11.7 SBU Требуемое место на диске 294 MB GCC зависит от установки: Bash, Binutils, Coreutils, Diffutils,
Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed и Texinfo. Этот пакет известен своим нестабильным поведением при компиляции
с измененными опциями оптимизации
(включая опции -march и
-mcpu). GCC рекомендуется компилировать с
настройками по умолчанию. Если Вы задали переменные, такие как
CFLAGS и CXXFLAGS,
рекомендуется убрать их при сборке пакета GCC. Сейчас мы собираемся установить компиляторы языков C и C++, таким образом
Вам надо распаковать архивы GCC-core и GCC-g++: они распакуются в один и
тот же каталог. Вы можете также распаковать пакет GCC-testsuite.
Полный пакет GCC содержит намного больше компиляторов.
Инструкции по их установке вы можете найти на
http://www.linuxfromscratch.org/blfs/view/svn/general/gcc.html.
Примените только No-Fixincludes патч (не Specs патч),
также использованный в предыдущей части: GCC выпадает с ошибкой при компиляции некоторых пакетов, не входящих в
базовую систему Linux From Scratch (такие как Mozilla и kdegraphics),
когда применяется совместно с неправильной версией Binutils.
Применим следующий патч для коррекции этой проблемы: Применим sed-замещение, которое запретит инсталляцию
libiberty.a. Версия
libiberty.a будет использоваться от Binutils: В документации по GCC рекомендуется собирать GCC вне каталога
с исходниками в отдельном каталоге для сборки: Подготавливаем GCC для компиляции: Компилируем пакет: В этой части тестирование GCC является обязательным.
Не пропускайте его. Тестируем результат, но не останавливаемся при возникновении ошибок: Некоторые из известных ошибок были описаны в предыдущей части.
Тест из раздела 5.13.
“GCC-3.4.1. Шаг 2” все еще актуален здесь.
Можете повторить его при необходимости. Устанавливаем пакет: Некоторые пакеты рассчитывают, что препроцессор C будет установлен в
/lib. Для поддержки этих пакетов создадим ссылку:
Многие пакеты используют имя cc
для вызова компилятора С. Для поддержки таких пакетов создадим ссылку: В этом месте рекомендуется повторить тест из части
6.12. “Переустановка средств”.
Если тест не прошел, то, скорее всего, Вы применили патч GCC Specs из главы
5. Проинсталлированные программы: c++, cc (link to gcc), cpp, g++,
gcc, gccbug и gcov. Проинсталлированные библиотеки: libgcc.a, libgcc_eh.a, libgcc_s.so,
libstdc++.[a,so] и libsupc++.a. C-компилятор. C-препроцессор, используется компилятором для извлечения
#include, #define и похожих определений в исходных файлах. C++ компилятор. C++ компилятор. C-компилятор. Скрипт, применяемый для облегчения создания сообщений об ошибках.
Содержит в себе несколько тестов, используется для анализа программ и
определения, где оптимизация будет иметь наибольший эффект. Описывает run-time поддержку для gcc
. Стандартная C++ библиотека. Предоставляет поддержку шаблонов для языка програмирования C++.
Linux From Scratch. Версия 6.0
Глава 6. Установка основных системных программ
6.14. GCC-3.4.1
6.14.1. Инсталлируем GCC
patch -Np1 -i ../gcc-3.4.1-no_fixincludes-1.patch
patch -Np1 -i ../gcc-3.4.1-linkonce-1.patch
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
mkdir ../gcc-build
cd ../gcc-build
../gcc-3.4.1/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared \
--enable-threads=posix --enable-__cxa_atexit \
--enable-clocale=gnu --enable-languages=c,c++
make
Важно
make -k check
make install
ln -s ../usr/bin/cpp /lib
ln -s gcc /usr/bin/cc
Замечание
6.14.2. Описание GCC
Короткое описание
Найди своих коллег! |