русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Кросс установка пакета GCC


Дата добавления: 2014-11-28; просмотров: 792; Нарушение авторских прав


Для сборки пакета GCC теперь нужны пакеты GMP, MPFR и MPC. Поскольку эти пакеты нельзя брать из вашей хост системы, их надо собирать вместе с GCC. Распакуйте каждый пакет в директорий с исходными кодами GCC и переименуйте получившиеся в результате директории так, чтобы процедуры сборки GCC смогли ими автоматически пользоваться:

tar -jxf ../mpfr-3.0.0.tar.bz2mv -v mpfr-3.0.0 mpfrtar -jxf ../gmp-5.0.1.tar.bz2mv -v gmp-5.0.1 gmptar -zxf ../mpc-0.8.2.tar.gzmv -v mpc-0.8.2 mpc

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

mkdir -v ../gcc-buildcd ../gcc-build

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

../gcc-4.5.2/configure \ --target=$LFS_TGT --prefix=/tools \ --disable-nls --disable-shared --disable-multilib \ --disable-decimal-float --disable-threads \ --disable-libmudflap --disable-libssp \ --disable-libgomp --enable-languages=c \ --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs \ --without-ppl --without-cloog

Пояснение конфигурационных параметров:

--disable-shared
  Этот параметр указывает GCC компоновать свои внутренние библиотеки статически. Мы делаем это с тем, чтобы избежать возможных проблем с хост системой.
--disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp
  Эти переключатели отключают соответственно поддержку десятичной арифметики с плавающей точкой, потоков, а также библиотек libmudflap, libssp и libgomp. Эти возможности недоступны при сборке кросс-компилятора и они не требуются для кросс-компиляции временной библиотеки Libc.
--disable-multilib
  Для архитектуры x86_64 в системе LFS конфигурация multilib не поддерживается. Этот переключатель никак не влияет на работу с архитектурой x86.
--enable-languages=c
  Этот параметр гарантирует, что будет собран только компилятор C. Это единственный язык, который сейчас нужен.
--with-gmp-include=...
  Этот параметр указывает GCC, где расположены заголовки GMP.
--with-gmp-lib=...
  Этот параметр указывает GCC, где расположена библиотека GMP.
--without-ppl, --without-cloog
  Эти переключатели предотвращают при построении GCC использование библиотек PPL и ClooG, которые могут быть в хост системе, но их не будет в среде, в которую вы переключитесь с помощь команды chroot.

Откомпилируйте GCC с помощью команды:



make

Компиляция теперь завершена. Обычно в этот момент следует запустить набор тестов, но, как уже упоминалось ранее, фреймворк для наборов тестов еще не установлен. Преимущества запуска тестов в настоящий момент минимальные, поскольку программы, созданные на этом первом прохода, скоро будут заменены.

Установите пакет:

make install

Использование параметра --disable-shared означает, что файл libgcc_eh.a не будет создан и установлен. Пакет Glibc зависит от этой библиотеки, поскольку в процессе сборки этой библиотеки используется функция -lgcc_eh. Эту зависимость можно разрешить с помощью создания символической ссылки на файл libgcc.a, поскольку в этом файле, в конце концов, будут храниться объекты, которые обычно находятся в libgcc_eh.a:

ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | \ sed 's/libgcc/&_eh/'`

Подробности об этом пакете приведены в разделе " Описание пакета GCC".



<== предыдущая лекция | следующая лекция ==>
Кросс установка пакета Binutils | Установка пакета Glibc


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.032 сек.