powered_by.png, 1 kB
Компиляция GCC Версия в формате PDF Версия для печати Отправить на e-mail
Написал Administrator   
20.04.2014

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

Для начала идём на сайт gcc.gnu.org в раздел prerequisites и устанавливаем комплект зависимостей (я пользовался утилитой pkg-get). После этого добавляем в вашу переменную окружения PATH директории /usr/sfw/bin и /usr/local/bin, а в переменную LD_LIBLARY_PATH подцепляем папку /usr/sfw/lib. Последнее желательно выполнить через команду crle из-под root.

Далее скачиваем исходники gcc, распаковываем в удобное для Вас место (например /src/gcc) и выставляем на папку права 777. Так как GCC необходимо собирать в отдельной директории, то создаем в папке, куда Вы распаковали исходники, новую директорию (например gccbuild) и заходим в неё. После этого выполняем конфигурирование:
../gcc/configure –with-gnu-as –with-as=/usr/sfw/bin/gas –without-gnu-ld –with-ld=/usr/ccs/bin/ld –with-mpfr=/opt/csw/ –with-gmp=/otp/csw/ –enable-shared --enable-threads=solaris --enable-multilib --enable-nls --with-included-gettext --with-x --with-system-zlib.
Если все зависимости разрешились, тогда конфигуратор сгенерирует makefile. Затем запускаем make с параметром bootstrap и... можно сходить попить чай: так как GCC собирается в три этапа и процесс этот занимает около 2-х часов (правда это зависит от конкретной машины на которой производится сборка). Если всё завершилось успешно, тогда под root пишем: make install. Если же make сообщит об ошибке, тогда внимательно смотрим: на чем остановился make. Чаще всего это нехватка какой-нибудь библиотеки или пакета, в этом случае доустанавливаем недостающий пакет или находим нужную библиотеку и создаем на неё ссылку.
Я собирал GCC c префиксами по умолчанию, в этом случае все необходимые для работы GCC библиотеки складываются в папку /usr/local/lib. Поэтому, для простоты, чтобы руками не создавать кучу линков, прописываем директорию /usr/loca/lib в переменную LD_LIBLARY_PATH. Сборка GCC закончена. После этого можно смело удалить старые GCC и\или libgcc.

Удачной вам компиляции.

Последнее обновление ( 20.04.2014 )
 
< Пред.   След. >
Фонд Развития Интернет
InvitNET © 2018
Страница сгенерирована за 0.023806 секунд