LINUX.ORG.RU

ABI проблемы при обновлении

 ,


0

1

Доброго времени суток, ЛОР.
Собственно проблема:

cloud / # emerge -avuDN @world

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]".
(dependency required by "media-libs/libsdl-1.2.15-r5" [ebuild])
(dependency required by "media-video/ffmpeg-2.2.2[sdl]" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

При попытке обновить мир, получаю это (или подобное) сообщение. На месте x11-libs/libXext может быть что угодно (libXt, pulseaudio, libXrandr, libX11, etc.). Пробовал гуглить: единственное решение, которое удалось найти - размаскировать USE-флаги «abi_x86_32 abi_x86_64» и добавить ABI_X86=«64 32» в make.conf, но оно не решает проблему, а только порождает новые циклические зависимости, проблемы со слотами, требует переустановить несколько десятков пакетов с ключевым словом ~amd64 и т.д.
Это какие-то нововведения или что-то основательно навернулось? Способы лечения?



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

Вроде бы проблемами с мультилибом ещё в прошлом году все отстрадали.
Лечить неторопливой сборкой по одному пакету с раскручиванием петель и игрой юзами.

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

Вроде бы проблемами с мультилибом ещё в прошлом году все отстрадали.

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

Лечить неторопливой сборкой по одному пакету с раскручиванием петель и игрой юзами.

Можно поконкретнее? Раскручивать петли, что имеются в данный момент, или те, что появляются при размаскировке USE-флагов и добавлении ABI_X86=«64 32» в make.conf?

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

Покажи целиком вывод вот этого:

emerge -avuDN @world
Но вместе с ключом '-t'.

Ну и добовлять глобально то, что вы не знаете и не понимаете в make.conf нестоит.

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

Чтобы сказать что-либо конкретнее, надо смотреть /etc/make.conf, /etc/portage/package.{env,mask,unmask,use} и хотя бы один пример петли.

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

Но вместе с ключом '-t'.

cloud / # emerge -avuDNt @world

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "media-libs/alsa-lib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]".
(dependency required by "media-libs/libsdl-1.2.15-r5" [ebuild])
(dependency required by "media-video/ffmpeg-2.2.3[sdl]" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
ck114
() автор топика
Ответ на: комментарий от imul

Вы меня не поняли. Мне нужна конкретика не в том КАК разматывать, а в том ЧТО разматывать. Петлей нет, пока нет ABI_X86=«64 32», следует ли мне объявить это ABI_X86=«64 32» в make.conf и разматывать петли, или следует сделать что-то иное?

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

ЕМНИП методика перехода на компилируемый мультилиб была как раз в указании ABI_X86 и сборке необходимого. А потом ABI_X86 можно было убрать. Лучше спросить Pinkbyte как сейчас правильнее делать, он наверняка в курсе.

imul ★★★★★
()

добавить ABI_X86=''64 32'' в make.conf, разрулить циклические зависимости путём emerge -1 $packagename, руля флагами. после всё будет OK. это нормальное явление, которое изредка появляется при обновлении (во всяком случае с оверлеями так бывает). могу ошибаться, ибо генточка уже месяц без меня.

funeralismatic ★★★
()

media-libs/libsdl-1.2.15-r5 - это мультилиб-пакет из ~arch. Он тянет очень много пакетов из ~arch.

Варианта 2: 1) найти все эти пакеты, пройдясь по ебилду вручную(и потом по каждой зависимости из найденных) или 2) ACCEPT_KEYWORDS=«~arch»

Мультилиб в stable сейчас у очень небольшого кол-ва пакетов(udev, ncurses и т.д.). В основном мультилиб пакеты начинают тянуть много чего из unstable(где они как правило и находятся).

Возможно у тебя уже ACCEPT_KEYWORDS проставлен, тогда всё что я сказал выше - к твоей ситуации не относится и ты просто неудачно засинкался. Сделай emerge --sync еще раз через некоторое время и повтори попытку обновления.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.