Пакет GCC содержит GNU-компиляторы. Они полезны для компилирования программ, написанных на C, C++, Fortran , Java, Objective C и Ada.
Адрес (HTTP): http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.4.1/gcc-3.4.1.tar.bz2 .
Адрес (FTP): ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.4.1/gcc-3.4.1.tar.bz2 .
Контрольная сумма: 31b459062499f9f68d451db9cbf3205c
Размер: 27.2 MB
Требуемое дисковое пространство: 1.53 GB
Расчетное время сборки: 48.94 SBU
Требуемый патч: http://www.linuxfromscratch.org/blfs/downloads/6.0/gcc-3.4.1-no_fixincludes-1.patch .
Требуемый патч: http://www.linuxfromscratch.org/blfs/downloads/6.0/gcc-3.4.1-linkonce-1.patch .
Тесты: http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.4.1/gcc-testsuite-3.4.1.tar.bz2 .
Контрольная сумма тестов: 641f45606e17db4a3079cb7364a9e295
Если Вы планируете компилировать Ada, то необходимо будет временно установить GNAT для удовлетворения зависимости при перекомпиляции GCC для включения Ada.
Адрес (FTP): ftp://cs.nyu.edu/pub/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz .
Контрольная сумма: 57c060cd1ccef8b1ae9165b11d98780a
Размер: 13.5 MB
Требуемое дисковое пространство: 48 MB
Расчетное время сборки: 0.01 SBU
Установим GNAT запуском следующей команды:
./doconfig
Этот скрипт спросит о том, как и куда Вы хотели бы установить GNAT. Для исключения конфликтов с системным gcc пакет будет установлен в отдельный каталог, который позднее может быть удален из системы.
В ответ на вопросы, заданные скриптом doconfig, введите 3 в ответ на первый вопрос и /opt/gnat в ответ на второй вопрос.
Для окончания установки запустите следующую команду под пользователем root:
./doinstall
Компилятор GNAT может быть вызван выполнением бинарника gcc, установленного приведенным выше скриптом.
Подготовимся к компиляции GCC размещением GNAT gcc в начале переменной PATH выполнением следующих команд:
PATH_HOLD=$PATH &&
export PATH=/opt/gnat/bin:$PATH
Установим GCC запуском следующих команд:
Процесс установки может переписать имеющийся компилятор GCC и библиотеки. Очень рекомендуется наличие в системе установленных пакетов Tcl, Expect и DejaGnu, а также распакованного архива с тестами GCC перед началом сборки.
Не выполняйте команду make install пока не убедитесь в успешности сборки. Вы можете сравнить результаты тестов с результатами, находящимися на http://gcc.gnu.org/ml/gcc-testresults/. Представленные результаты тестов на платформе i686 для системы LFS-6.0 находятся на http://linuxfromscratch.org/~randy/gcc341_test.txt . Вы также можете захотеть обратиться к информации, находящейся в разделе GCC-Шаг 2 главы 5 в книге LFS.
Некоторые из Java программ, установленные в пакете GCC , конфликтуют (имеют те же имена) с программами из пакета J2SDK-1.4.2. Если Вы устанавливаете язык Java из пакета GCC, но хотите использовать по умолчанию программы из J2SDK, убедитесь что $JAVA_HOME/bin указан перед /usr/bin в переменной PATH.
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++,objc,f77,ada,java &&
make bootstrap &&
make -C gcc gnatlib-shared &&
make -C gcc gnattools &&
make -k check &&
../gcc-3.4.1/contrib/test_summary
А теперь, как пользователь root:
make install &&
ln -v -sf ../usr/bin/cpp /lib &&
ln -v -sf gcc /usr/bin/cc &&
ln -v -sf g77 /usr/bin/f77 &&
chown -v -R root:root /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include &&
chown -v -R root:root /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/ada{lib,include}
Вы можете удалить установку GNAT и восстановить старый PATH:
rm -rf /opt/gnat &&
export PATH=$PATH_HOLD
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in: Эта команда запрещает установку libiberty.a, поскольку будет использоваться версия, представленная в Binutils .
mkdir ../gcc-build; cd ../gcc-build: Документация GCC рекомендует производить сборку пакета в отдельном каталоге.
--enable-shared --enable-threads=posix --enable-__cxa_atexit: Эти команды необходимы для сборки C++ библиотеки в опубликованных стандартах.
--enable-clocale=gnu: Эта команда служит для безопасности работы с неполными данными локалей.
--enable-languages=c,c++,objc,f77,ada,java : Эта команда определяет собираемые языки программирования. Вы можете исключить из нее ненужные языки.
make -C gcc gnatlib-shared: Эта команда собирает разделяемые и статические библиотеки Ada. Пропустите этот шаг, если не используете Ada в качестве одного из языков.
make -C gcc gnattools: Эта команда собирает средства разработки и бинарники Ada. Пропустите этот шаг, если не используете Ada в качестве одного из языков.
make -k check: Эта команда запускает тест в режиме без остановки в случае обнаружения ошибок.
../gcc-3.4.1/contrib/test_summary : Эта команда предоставляет суммарный результат выполнения тестов. Вы можете добавить в команду | grep -A7 Summ для предоставления более сжатой версии результатов. Вы можете также захотеть перенаправить вывод в файл для последующего просмотра и сравнения.
ln -sf ../usr/bin/cpp /lib: Эта команда создает ссылку на предпроцессор C, поскольку некоторые пакеты ожидают его установку в каталог /lib.
ln -sf gcc /usr/bin/cc; ln -sf g77 /usr/bin/f77: Эти ссылки создаются, поскольку некоторые пакеты обращаются к компиляторам C и Fortran, используя альтернативные имена.
chown -R root:root /usr/lib/gcc/i686-pc-linux-gnu/...: Если пакет собран пользователем, отличным от root, то владелец установленных каталогов include и adalib (и их содержимого) будет некорректным. Эти команды изменяют владельца на root:root. Пропустите команду, изменяющую каталог Ada, если не включили Ada в список устанавливаемых языков.
Эмулирует некоторую функциональность addr2line.
Ссылка на g77, созданная в целях совместимости.
Компилятор Fortran, вызываемый из gcc.
Первоначальный компилятор для языка Java .
Генерирует файлы заголовков из файлов Java классов.
Интерпретатор GNU для кода Java.
Компилятор Ada, вызываемый из gcc.
Используется для связывания скомпилированных объектов.
Компоновщик Ada.
Полезен для переименования файлов для соответствия стандартам соглашений именования файлов Ada.
Используется для удаления файлов, связанных с проектом GNAT.
Поисковик описаний/использования GNAT.
Используется для компоновки программ и сборки исполняемого файла.
Скомпилированный браузер элементов.
Автоматический make.
Перечисляет файлы, ассоциированные с проектом GNAT.
Внешний предпроцессор GNAT.
GNAT создатель перекрестных ссылок.
Средство, используемое для создания файлов Makefile, которые поддерживают компиляцию с различных языков.
Утилита, используемая Makefile.generic для поддержки многоязыковых сборок. Она предоставляет набор команд, благодаря которым файлам Makefile не надо зависеть от Unix-утилит, которые не везде доступны.
Ищет jar файлы по образцу.
Средство для работы с Java-архивами.
Печатает информацию о файлах Java-классов.
Преобразует файлы из одной кодировки в другую.
Печатает информацию об исходных файлах Java .
Генерирует остатки для метода удаленного вызова.
Запускает регистрацию удаленного объекта на текущем хосте.
Последнее обновление 2005-02-28 13:39:06 -0700.