LINUX.ORG.RU

Компиляция програм под другую архитектуру

 ,


0

1

Собираюсь я собрать один дистрибутев под arm. Короче, если я под arm буду компилировать на x86 например bird, и там нужна будет библиотека libtinfo-dev, то можно ли её будет установить простым:

apt-get install libtinfo-dev
Если компиляция будет идти через кросс компилятор для arm?

★★★★★

Последнее исправление: ne-vlezay (всего исправлений: 1)

Зависит от того что за дистрибутив и чем ты его собираешь

Не знаю как это работает в случае какой-нибудь Убунты, но например OpenEmbedded сам собирает сначала cross-compiler, затем нужный софт для rootfs согласно зависимостям. Соответственно все необходимые либы должны скомпилиться (установиться) автомагически

alx777 ★★
()
dpkg --add-architecture armhf

Ещё установить gcc-6-arm-linux-gnueabihf. Дальше устанавливать libtinfo-dev:armhf и т.п.

gag ★★★★★
()
Ответ на: комментарий от gag

proot - самое верное решение. Для компиляции под arp, нужно proot запустить с --qemu=/opt/qemu/bin/qemu-<arch>. Например:

proot -r /chroot/arm --qemu =/opt/qemu/bin/qemu-arm
Хотя, почему у меня arch опредилил armv7l.
А как эмулировать armv6?

Правда, вот сколько времини занимает кросс-компиляция:

real	74m49.551s
user	267m9.358s
sys	3m9.574s

ne-vlezay ★★★★★
() автор топика
Последнее исправление: ne-vlezay (всего исправлений: 1)
Ответ на: комментарий от ne-vlezay

proot - самое верное решение

А я коммент свой удалил...

А как эмулировать armv6?

У qemu есть опция -cpu, возможно, оно. Но я не эксперт в этом.

Правда, вот сколько времини занимает кросс-компиляция

Можно использовать часть нативных инструментов, например, make и кросс-компилятор. У proot в мануале это описано.

utf8nowhere ★★★
()
Ответ на: комментарий от utf8nowhere

единственный недостаток: из proot нельзя делать chroot.

ne-vlezay ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.