Установка GCC-3.3.1 - Шаг 1

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

Описание GCC

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

Устанавливаемые программы: c++, cc (link to 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-core, нам пока не нужен компилятор C++.

Замечание: Несмотря на то, что GCC является очень важным пакетом средств, мы не запускаем сейчас тестирование. Во-первых, тестирование сейчас не нужно, а во-вторых, программы из этого шага будут переписаны на следующем.

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

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

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

Подготовим GCC к компиляции:

../gcc-3.3.1/configure --prefix=/tools \
--with-local-prefix=/tools \
--disable-nls --enable-shared \
--enable-languages=c

Описание опций конфигурации:

Продолжим компиляцию пакета:

make BOOT_LDFLAGS="-static" bootstrap

Описание параметров сборки:

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

make install

Под конец мы создадим ссылку /tools/bin/cc. Многие программы и скрипты используют cc вместо gcc для обеспечения переносимости программ на все Unix системы. Не у всех установлен именно компилятор GNU C. Запуск cc позволяет администратору выбирать, какой компилятор C устанавливать в систему, и мы создаем ссылку на него:

ln -sf gcc /tools/bin/cc