[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Кросс-компиляторы для Debian



Dmitrii Kashin -> debian-russian@lists.debian.org  @ Sun, 15 Feb 2015 20:08:03 +0300:

 DK> Простите мне мою неопытность, но в чём нынче с этим проблема? Насколько
 DK> я понимаю, gcc может собирать бинарники любой архитектуры при условии
 DK> наличия заголовочных файлов и библиотек соответствующей архитектуры.

 DK> С учётом существования multiarch, мне казалось, что это не должно быть
 DK> проблемой. Так вот, разве нельзя просто добавить через dpkg
 DK> дополнительную архитектуру (arm какой-нибудь) и установить необходимых
 DK> devel-библиотек?

 DK> Это представление сильно отличается от реальности?

Довольно сильно.

multiarch - это про _выполнение_ программ, собранных под другую
архитектуру.  Однако, совместимую по процессорным командам.  Т.е. на
amd64 можно выполнять i386, а на armhf - armel.  Для multiarch нужно
ставить не devel-, а run-библиотеки, а на собственно исполнимые файлы
программ multiarch не распространяется от слова "совсем".  Нельзя
поставить в параллель gcc-i386 и gcc-amd64.

Кросс-сборка к multiarch не имеет ни малейшего отношения, и требует
наличия gcc и binutils, умеющих работать с целевой архитектурой, стоящих
рядом (а следовательно, под другими именами) с "родными".  За
devel-библиотеки так вот сходу не поручусь.  С виду они в дистрибутиве
под конкретную архитектуру, но нужны ли аналоги под целевую архитектуру
для кросс-сборки, я не уверен.  Возможно, не нужны, хотя тут тоже
возможна засада - некоторые библиотеки под разные архитектуры собираются
с разной функциональностью.  Хедера (входящие в dev-пакеты наряду с
dev-библиотеками) - общие.  Хотя тут тоже возможна аналогичная засада.


Reply to: