crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> собираю gcc на freebsd 64 из-под linux
alexy
  опции профиля:
сообщение 26.3.2014, 16:41
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 4.8.2010
Пользователь №: 1931

Спасибо сказали: 0 раз(а)




Репутация:   0  


обычно на сервере прямо собирал, но буст вылетел с ошибкой, что мол памяти нет, думал чтобы не переходить на другой тариф, скомпилю у себя :) и тут...

скачал gcc gmp mpc mpfr и скомпилил, установил в /usr/cross-freebsd64
потом сказал
../configure --without-headers --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --disable-nls --enable-libssp --enable-gold --enable-ld --target=x86_64-pc-freebsd7 --prefix=/usr/cross-freebsd64 --with-gmp=/usr/cross-freebsd64 --with-mpc=/usr/cross-freebsd64 --with-mpfr=/usr/cross-freebsd64 --disable-libgomp


ничего не вышло, ругался на библиотеки, тогда скачал их с сайта gcc там более старые версии, те удалил, эти поставил и такая же петрушка. потом поставил из своего репозитория (те не удалил) libgmp-dev и так далее и gcc сконфигурировался. долго долго компилился и сказал
checking for suffix of object files... configure: error: in `/home/fera-leonis/projects/libs/gcc/objdir/x86_64-pc-freebsd7/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.


преклю файл с ошибкой (переименовал на txt). я наделяся там будет написанно на чем вспоткнулся компилятор, но там не написанно. может что-то не так с библиотеками этими?
как его скомпилить? :)

ЗЫ: после конфигуре собирал так
LD_LIBRARY_PATH=/usr/cross-freebsd64/lib make


Сообщение отредактировал alexy - 26.3.2014, 16:44
Прикрепленные файлы
Прикрепленный файл  config.txt ( 11.55 килобайт ) Кол-во скачиваний: 1065
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 26.3.2014, 21:33
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


на сайте GCC к каждой версии написаны требования к версиям mpc, gmp и mpfr.
а для ограничения памяти при сборке у GCC есть параметры ggc-min-expand и ggc-min-heapsize, регулирующие сборку мусора. плюс можно поиграться с ulimit.
ну и буст можно собирать не весь сразу, а по одной библиотеке.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
alexy
  опции профиля:
сообщение 27.3.2014, 9:37
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 4.8.2010
Пользователь №: 1931

Спасибо сказали: 0 раз(а)




Репутация:   0  


чего-то я там не нашел к каждой версии. есть вот это http://gcc.gnu.org/install/prerequisites.html и по этому я проверял. сейчас скачал последние версии. для каждой скаченной библиотеки сделал
./configure; make; sudo make install

до этого я шел по этому (http://marcelog.github.io/articles/cross_freebsd_compiler_in_linux.html) руководству, там написанно что эти библиотеки нужно компилить с каким-то параметрами особыми, то есть там везде указан хост. потом подумал зачем хост если компилю-то на своей системе и компилятора для этого хоста у меня еще нет. поэтому собрал просто по ./configure . как вобще нужно делать?

да, я знаю, что можно поиграться, но там еще и версия компилятора старая. не компилить же компилятор там :) хотя это наверное будет проще.

и там написанно, что если положить внутрь директории с сырцами gcc эти библиотеки, то он их сам найдет. только на сколько я понимаю они уже должны быть скомпилины. это тоже почуму-то не получилось. ошибка - нет ar под freebsd (что странно: зачем мне его компилить если он у меня уже должен быть).

сейчас собирал все эти библиотеки просто по ./configure, установил и тот же облом: не может собрать libgcc. как его вобще собирают? :) может сначла установить полученные бинарники а потом компилить libgcc?

и кстати, я же там указал --without-headers почему он вообще пытается её скомпилить?

Сообщение отредактировал alexy - 27.3.2014, 9:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 27.3.2014, 11:47
Сообщение #4


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(alexy @ 27.3.2014, 12:37) *
чего-то я там не нашел к каждой версии .... как вобще нужно делать?

есть там это. не помню где, но есть. посмотри всякие readme в самом архиве сорцов. может, там это. но по-моему, на сайте тоже было.
cборка GCC, да ещё и с кросскомпиляцией - занятие дюже геморройное. это делается в несколько отдельных шагов. сначала собирается простой компилятор без glibc, потом glibc, потом - основной компилятор, со всеми наворотами. если хочешь дохрена теории - можешь почитать про LFS (Linux From Scratch), например. там подробно написано, как его собирать. обычно такая сборка занимает много часов. то есть, это непростой процесс, но вся документация в сети есть.

я бы не стала стрелять из пушки по воробьям, потому что затраты на сборку компилятора будут гораздо больше, чем обычная сборка того же буста по частям или с лимитированным объёмом памяти.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.4.2024, 23:15