собираю gcc на freebsd 64 из-под linux |
Здравствуйте, гость ( Вход | Регистрация )
собираю 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 потом сказал
ничего не вышло, ругался на библиотеки, тогда скачал их с сайта gcc там более старые версии, те удалил, эти поставил и такая же петрушка. потом поставил из своего репозитория (те не удалил) libgmp-dev и так далее и gcc сконфигурировался. долго долго компилился и сказал
преклю файл с ошибкой (переименовал на txt). я наделяся там будет написанно на чем вспоткнулся компилятор, но там не написанно. может что-то не так с библиотеками этими? как его скомпилить? ЗЫ: после конфигуре собирал так
Сообщение отредактировал alexy - 26.3.2014, 16:44
Прикрепленные файлы
|
|
|
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 и по этому я проверял. сейчас скачал последние версии. для каждой скаченной библиотеки сделал
до этого я шел по этому (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 |
чего-то я там не нашел к каждой версии .... как вобще нужно делать? есть там это. не помню где, но есть. посмотри всякие readme в самом архиве сорцов. может, там это. но по-моему, на сайте тоже было. cборка GCC, да ещё и с кросскомпиляцией - занятие дюже геморройное. это делается в несколько отдельных шагов. сначала собирается простой компилятор без glibc, потом glibc, потом - основной компилятор, со всеми наворотами. если хочешь дохрена теории - можешь почитать про LFS (Linux From Scratch), например. там подробно написано, как его собирать. обычно такая сборка занимает много часов. то есть, это непростой процесс, но вся документация в сети есть. я бы не стала стрелять из пушки по воробьям, потому что затраты на сборку компилятора будут гораздо больше, чем обычная сборка того же буста по частям или с лимитированным объёмом памяти. |
|
|
Текстовая версия | Сейчас: 2.1.2025, 21:03 |