Бинарники 32-х битные на 64-х битной машине
Есть проблема по сборке 32-х битных бинарников на 64-х битной платформе.
Установил crossdev.
Первая трабла:
Использую gcc-config.
shur ~ # gcc-config -l
[1] i686-pc-linux-gnu-4.1.1 *[2] x86_64-pc-linux-gnu-4.1.1 *
Переключаю компилятор на 32 бита и проверяю который он поставил:
shur ~ # gcc-config 1
* Switching cross-compiler to i686-pc-linux-gnu-4.1.1 ... [ ok ]
shur ~ # source /etc/profile
shur ~ # gcc-config -c
x86_64-pc-linux-gnu-4.1.1
не переключил :((( вопрос - почему??
Вторая трабла.
Пробую указать конкретный CHOST, взяв его со страницы: http://gentoo-wiki.com/Safe_Cflags#Safe_CFLAGS_to_use_for_Gentoo
запускаю configure и вижу что он опять юзает 64-х битный компилятор x86_64-pc-linux-gnu-4.1.1, игнорируя мои флаги.. хад %)
В связи с этими двумя проблемами прошу ткнуть меня лицом где я не прав, послать в конкретные доки(в том числе, ни как не могу понять, что такое тулчэйны и помогут ли они в моем случае). Или, если кто компилил 32-х битные бинарники под 64 битами - написать мануальчик :)
Заранее благодарен!
- Для комментирования войдите или зарегистрируйтесь
Если собираешь
Если собираешь при помощи emerge, то используй вот этот скрипт:
./xmerge --root /my/x86/root/ параметр для emerge
Дока была тут:
http://arcanux.org/guidexml/cross-development.html
но сейчас что-то не открывается.
К сожалению не
К сожалению не через emerge. Исходники получаются из SVN одного из проектов. их уже собираю через:
с флагами к реконфу могу чуток наврать, но общее выглядит именно так
_________________
se non e vero e ben trovato - если это не правда то уж очень хорошо придумано.
так ебилд
так ебилд напиши основываясь на уже существующих лайв ебилдах...
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
Для меня это
Для меня это пока черезчур далеко.. хотя нужно бы покапаться.. есть ссылки на доки??
А вообще, буквально вчера наткнулся на доку о создании 32-х битного chroot'а на 64-х битной машине. Стоит пробовать? )
_________________
se non e vero e ben trovato - если это не правда то уж очень хорошо придумано.
Ну там точно
Ну там точно заработает. Я вот сейчас подумал, а развер CHOST - это архитектура под которую собирается пакет? Насколько я помню, это архитектура под которой собирается пакет т.е. архитектура, под которой работает компилатор.
А за архитектуру назначения кажется отвечает CBUILD (а может и CTARGET, хотя использование последнего кажется не рекомендовалось).
Только все это надо проверить, я не уверен в этом.
IMHO (nu sobral ja tak
IMHO (nu sobral ja tak i586-pc-linux-uclibc)
CTARGET -> kone4naja arhitektura
CBUILD -> arhitektura proca,gcc,ld (distcc , chroot x86_64->x86 ,etc..)
CHOST -> vasa arhitektura -> (jadro)
Спасибо!
Спасибо! Сегодня обязательно попробую. Если будет все удачно и аж ааааах, доку напишу :)
_________________
se non e vero e ben trovato - если это не правда то уж очень хорошо придумано.