Установка GCC-3.3.1

Ожидаемое время сборки: 11.7 SBU
Ожидаемое место на диске: 294 MB

Описание GCC

Пакет GCC сдержит коллекцию компиляторов GNU, включая компиляторы C и C++.

Устанавливаемые программы: c++, cc (ссылка на gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, и gcov

Устанавливаемые библиотеки: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] и libsupc++.a

Зависимости установки GCC

GCC зависит от: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Установка GCC

Замечание: Тестирование GCC в этой главе является критичным. Ни в коем случае не пропускайте его.

Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). GCC рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета GCC. Изменяя оптимизации для GCC, вы действуете на свой страх и риск.

Сейчас мы собираемся установить компиляторы языков C и C++, таким образом вам надо распаковать архивы GCC-core и  GCC-g++ -- они распакуются в одну и ту же директорию. Вы можете также распаковать пакет GCC-testsuite. Полный пакет GCC содержит намного больше компиляторов. Инструкции по их установке вы можете найти на http://www.linuxfromscratch.org/blfs/view/stable/general/gcc.html.

patch -Np1 -i ../gcc-3.3.1-no_fixincludes-2.patch
patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch

Второй патч отключает установку libiberty из GCC, которые мы установили вместе с binutils. Будьте внимательны, не применяйте патч GCC specs из Главы 5 здесь.

Документация GCC рекомендует собирать GCC вне директории с исходниками, в отдельной директории для сборки:

mkdir ../gcc-build
cd ../gcc-build

Теперь подготовим GCC к компиляции:

../gcc-3.3.1/configure --prefix=/usr \
--enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-clocale=gnu \
--enable-languages=c,c++

Скомпилируем пакет:

make

Протестируем результаты, но не будем останавливаться при ошибках (вы должны просто запомнить их):

make -k check

Тестирование из части Установка GCC-3.3.1 - Шаг 2 Главы 5 является весьма желательным здесь. Убедитесь, что все в порядке перед продолжением установки.

И установим пакет:

make install

Некоторые пакеты рассчитывают, что C PreProcessor будет установлен в директории /lib. Для удовлетворения нужд этих пакетов, создадим ссылку:

ln -s ../usr/bin/cpp /lib

Многие пакеты используют имя cc для вызова компилятора C. Для этих пакетов мы тоже создадим ссылку:

ln -s gcc /usr/bin/cc

Замечание: В этом месте рекомендуется повторить тест из части Переустановка средств . Если тест не прошел, то, скорее всего, вы применили патч  GCC Specs из Главы 5.