LINUX.ORG.RU

Кросс-компилятор Gentoo

 , , ,


0

3

что-то вроде этого, но здесь пишет нет ебилдов

SYSROOT=./ ROOT=${SYSROOT} emerge-mips-unknown-linux-gnu -av1 $(qlist -ISC --root ./)

а эта хочет заново-компилять немного x86-64 пакетов, я не хочу

SYSROOT=./ ROOT=${SYSROOT} emerge-mips-unknown-linux-gnu -ave @world

хочу только для mips пересобрать все

?

есть способ с --emptytree но исключив x86-64? там зависимости разрулены

Deleted

Последнее исправление: Deleted (всего исправлений: 8)

а эта хочет компилять немного x86-64 пакетов, я не хочу

Ты уверен, что игнорирование BDEPEND - это хорошая идея? Их в EAPI=7 ввели как раз для поддержания кросс-компиляции.

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

BDEPEND для сборки нужны? они есть

--emptytree предлагает пересобрать всякие ненужные пакеты еще раз

уверен они бит в бит такие-же x86-64 будут, новых там нет, или я чего-то не знаю

а вот mips пересобрабрать с хочушными флагами хочется

т.е. уже собраные x86 не трогать, а mips погонять с новыми cflags cxxflags есть ли для этого скрипт-красава?

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

написал не так в первом, исправил

хочет компилять
хочет заново-компилять

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

Так и запиши нужные cflags и cxxflags в make.conf для архитектуры MIPS. Кстати да, у меня при вызове

SYSROOT=./ ROOT=${SYSROOT} emerge-armv7a-unknown-linux-gnueabihf -av1 $(qlist -ISC --root ./)
всё нормально отрабатывает, пересобираются и обновляются только arm версии установленных программ. Портаж правда пытается поставить в основную систему пару новых пакетов из dev-python, но такое же поведение будет и при обычном запуске emerge. И да, уточнение, запускаешь команду из корня MIPS системы, /usr/mips-unknown-linux-gnu/ ?

AbbaT
()
Ответ на: комментарий от Deleted

А, то есть претензия в том что при --emptytree пересобираются и BDEPEND-ы? Мммм... да, это было бы неплохо улучшить - чтобы можно было исключать их из пересборки с --emptytree. Запости багрепорт пожалуйста

P.S. Похоже с --emptytree при указании ROOT не всё гладко - https://bugs.gentoo.org/239114

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от AbbaT

всё нормально отрабатывает

вот как у меня

draga /usr/mips-unknown-linux-gnu # SYSROOT=./ ROOT=${SYSROOT} emerge-mips-unknown-linux-gnu -av1 $(qlist -ISC --root ./) -A
...бычная хрень...
emerge: there are no ebuilds to satisfy "sys-devel/autoconf:2.5" for /usr/mips-unknown-linux-gnu/.
draga /usr/mips-unknown-linux-gnu #
если так
draga-msi /usr/mips-unknown-linux-gnu # SYSROOT=./ ROOT=${SYSROOT} emerge-mips-unknown-linux-gnu --update --newuse --deep --with-bdeps=y -av @world
Total: 0 packages ...трололо...
Nothing to merge; quitting.
обновил sys-devel/autoconf уже
Total: 169 packages (16 upgrades, 3 new, 150 reinstalls), Size of downloads: 409 206 KiB
Conflict: 1 block
понял в чем проблема

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

Deleted
()
Ответ на: комментарий от AbbaT

/usr/mips-unknown-linux-gnu/

да но пришлось для некоторых пистон-пакетов дописать

-I/usr/mips-unknown-linux-gnu/usr/include/python2.7 у вас без этого?

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

Правильно, ты обновил дерево портежей, потом просишь, чтобы qlist передал список установленных пакетов в emerge для пересборки. qlist передаёт установленную версию пакета, которой уже нет в портежах, поэтому только и остаётся обновить вручную.
Если ты хочешь обновить пакеты, выполни

emerge-mips-unknown-linux-gnu -avuND world

да но пришлось для некоторых пистон-пакетов дописать
-I/usr/mips-unknown-linux-gnu/usr/include/python2.7

Нет, я с таким не сталкивался.

AbbaT
()
Ответ на: комментарий от Deleted

чтобы уже установленные пакеты были в низком приоритете, а доступные новые в более высоком

Насколько мне известно эта хотелка одной командой emerge нерешаема.

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

Если эти пакеты никому другому не нужны, то --depclean, не?

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

я сделаль

давай по новой, все неправильно,

делал не с нуля, поверх старой очень, обычное обновление -avuND обновило пару пакетов, оставив старые, --depclean показывал 0 к удалению. пришлось что-то удалять, ставить альтернативу, autoconf просто не обновлялся и никак себя не выдавал, писал уже частично

хоть и исправил, но попробовал сделать кмк правильно, с чистого листа, все шло хорошо, но наткнулся на https://bugs.gentoo.org/648652 почитал что там по волшебному, вроде мы похожи и я понял, достаточно вредебы-I/usr/mips-unknown-linux-gnu/usr/include/python2.7

многабукв, сказать хотел, что с автоматизация emerge не работает так как хочется иногда

Насколько мне известно эта хотелка одной командой emerge нерешаема

ну ладно, спасибо, правда сложно иногда понять, надеюсь python попроще ангиского будет, ну более подробный вероятно

Deleted
()
python3.6 -c "import site; print(site.getsitepackages())"
['/usr/lib/python3.6/site-packages']
ls /usr/lib64/*/
/usr/lib64/python2.7/:
site-packages

/usr/lib64/python3.6/:
site-packages
ls /usr/lib/python*/site-packages/*
/usr/lib/python2.7/site-packages/README  /usr/lib/python3.6/site-packages/README.txt

не умею в на багтрекере искать, не нашел.

планирую binpkg использовать, лучше на этапе сборок исправить, но как подскажите пожалуйста Pinkbyte

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

хотя, нет, не видел его, читал docs, мне с них плохо

ладно все, я отошел от клавы

Deleted
()

с ядром не могу определиться, можно то ядро которое качает openwrt + их патчи + взять за дефолт конфиг, но там многоэтапная хрень мой мозг плавит

Deleted
()
Ответ на: комментарий от AbbaT

на чистой 2 проблемы пока

  • 1 описал выше python site только ставятся в /usr/lib64/
  • 2 /usr/lib/cracklib_dict.pwd.gz: No such file or directory при passwd
Deleted
()
Ответ на: комментарий от Deleted
[ebuild   R    ] sys-apps/shadow-4.6::gentoo to /usr/mips-unknown-linux-gnu/ USE="acl cracklib nls xattr -audit -pam (-selinux) -skey" 0 KiB
Deleted
()
Ответ на: комментарий от Deleted

Их и не должно быть, по крайней мере /dev и /sys должны монтироваться от основной системы c опцией --bind перед chroot.

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