WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Пакет 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
запуском следующей команды: Этот скрипт спросит о том, как и куда Вы хотели бы установить
GNAT.
Для исключения конфликтов с системным gcc
пакет будет установлен в отдельный каталог, который позднее
может быть удален из системы. В ответ на вопросы, заданные скриптом
doconfig, введите 3
в ответ на первый вопрос и
/opt/gnat в ответ на второй вопрос. Для окончания установки запустите следующую команду
под пользователем root: Компилятор GNAT
может быть вызван выполнением бинарника
gcc, установленного
приведенным выше скриптом. Подготовимся к компиляции GCC размещением
GNAT gcc
в начале переменной 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. А теперь, как пользователь root: Вы можете удалить установку
GNAT и восстановить старый
PATH: 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.
Beyond Linux From Scratch. Версия 6.0
Глава 12. Программирование
GCC-3.4.1
Введение в GCC
Информация о пакете
Дополнительно
Зависимости
GCC
Рекомендованные
Установка GCC
Информация о пакете
Зависимости
GNAT
Требуемые
Установка GNAT
./doconfig
./doinstall
PATH_HOLD=$PATH &&
export PATH=/opt/gnat/bin:$PATH
Возврат к установке 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++,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
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}
rm -rf /opt/gnat &&
export PATH=$PATH_HOLD
Описание команд
Содержание
Установленные программы:
addr2name.awk, cc,
c++, cpp, f77, g++, g77, gcc, gccbug, gcj, gcjh, gcov, gij,
gnat, gnatbind, gnatbl, gnatchop, gnatclean, gnatfind, gnatkr,
gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatxref,
gpr2make, gprcmd, grepjar, jar, jcf-dump, jv-convert, jv-scan,
rmic, rmiregistry и архитектурно-зависимые имена для for c++, g++,
gcc{,-3.4.1}, gcj и gcjh.
Установленные библиотеки:
lib-org-w3c-dom.[so,a], lib-org-xml-sax.[so,a],
libffi-2.00-beta.so, libffi.[so,a], libfrtbegin.a,
libg2c.[so,a], libgcc_s.so, libgcj.[so,a], libobjc.[so,a],
libstdc++.[so.6,a], libsupc++.a и большое количество
библиотек и исполняемых файлов в /usr/lib/gcc.
Установленные каталоги
/usr/include/c++, /usr/include/gcj, /usr/include/gnu,
/usr/include/java, /usr/include/javax, /usr/lib/gcc,
/usr/lib/security, /usr/share/gnat и /usr/share/java.
Короткое описание
Найди своих коллег! |