LINUX.ORG.RU

binnmu/multiarch проблемы в Debian

 ,


0

1

Проблемы такого типа, десятки их. Кто сталкивался, как решал? Пока на stable, новые binnmu-версии пакетов тут не появляются, так что жить можно, но долго оставаться на стэйбл я не собираюсь, чуть утрясется jessie, перейду на тестинг. Меня, если честно, подмывает удалить установленные :i386 пакеты, пораспаковывать из них нужные библиотеки, кинуть куда надо и не бояться, что при очередном апдейте 32 и 64-битные библиотеки снова законфликтуют из-за того, что хранят чейнджлоги в одном и том же месте. Совсем не Debian-way, зато очень сердито.

Ну потихоньку допиливают же, потерпи. Все-таки 40к пакетов перелопатить надо.

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

Дык дело ж не в перелопачивании пакетов. Каждый раз, когда принимается binary non-maintainer update пакета (а это происходит сплошь и рядом), установленного в системе в двух версиях (32 и 64), это влечет за собой ошибку dpkg при попытке его установить. Нужно какое-то принципиальное решение, а его пока нет (я мэйлинг листы отслеживаю).

Moonshine
() автор топика
# dpkg --print-architecture
amd64
# cat /etc/debian_version 
7.0
# aptitude search libsasl2-2
i A libsasl2-2                      - Cyrus SASL - authentication abstraction li
i A libsasl2-2:i386                 - Cyrus SASL - authentication abstraction li
# dpkg -L libsasl2-2:i386 | grep changelog
/usr/share/doc/libsasl2-2/changelog.Debian.gz
/usr/share/doc/libsasl2-2/changelog.gz
# dpkg -L libsasl2-2:amd64 | grep changelog
/usr/share/doc/libsasl2-2/changelog.Debian.gz
/usr/share/doc/libsasl2-2/changelog.gz

С библиотеками-то, если разобраться, всё нормально. Удивляет другое. То, что при multiarch'е некоторые пакеты заменяются i386 версиями. Например, pkg-config.

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

С библиотеками-то, если разобраться, всё нормально.

Этот конкретный баг починили переименованием файла changelog. Аналогичные все равно появляются. Проприетарные драйвера нвидиа, например до сих пор не ставятся через multiarch, даже в Wheezy (без патча, прикрепленного к багрепорту).

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

у меня в сиде вчера так iproute2:i386 приехал по депенду от iproute :)

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

Проприетарные драйвера нвидиа, например до сих пор не ставятся через multiarch, даже в Wheezy

подожди, nvidia-kernel-dkms:i386 ? или nvidia-glx? А нафига?

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

Переименованием?! Я же даже вывод «dpkg -L» привёл. Можно и это добавить:

# dpkg -L libsasl2-2:i386 | grep changelog > tmp0
# dpkg -L libsasl2-2:amd64 | grep changelog > tmp1
# diff tmp0 tmp1
#
Как видно, в обоих пакетах присутствуют файлы с одинаковыми именами. Но, они спокойно стоят параллельно без всяких конфликтов. И что считать проприетарными драйверами?! libgl1-nvidia-glx:i386 - это оно?! Спокойно устанавливается параллельно с libgl1-nvidia-glx:amd64 без всяких патчей.

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

подожди, nvidia-kernel-dkms:i386 ? или nvidia-glx? А нафига?

nvidia-glx. Потому что например steam требует 32-битного nvidia-glx на 64-битной системе. И google earth.

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

libgl1-nvidia-glx:i386 - это оно?! Спокойно устанавливается параллельно с libgl1-nvidia-glx:amd64 без всяких патчей.

Ну, как бы хз. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=640499 Там проблема в libxvmc, но libgl1-nvidia-glx от нее зависит.

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

Переименованием?! Я же даже вывод «dpkg -L» привёл. Можно и это добавить:

Пардон, недосмотрел. Не переименованием, тут дело в этом

# diff tmp0 tmp1
#

Ошибка бы вылезла, если бы разница была (а она изначально была).

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

Да нет, у меня месяц назад всё именно так было.

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

Ошибка бы вылезла, если бы разница была (а она изначально была).

Это ещё почему?! Можно понять когда конфликтуют пакеты, которые содержат файлы с одинаковыми полными именами, но обратное-то откуда?! Вон, в репозиториях тысячи пакетов с разными именами файлов, и это ни к каким конфликтам не приводит.

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

Когда файл changelog amd64 переписывается *аналогичным по содержанию* файлом changelog i386, ошибки нет. Когда *отличным по содержанию*, есть.

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

Тьфу ты, заморочил мне голову. Это же один и тот же файл, который оба пакета считают своим, какой diff.

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

насчет google-earth не скажу, а стим у меня ничего не требует:

┌─[16:47][leave][~] 
└─╼ apt-cache depends steam-launcher
steam-launcher
  Depends: python
  Depends: curl
  Depends: jockey-common
  Depends: libc6
  Depends: python-apt
 |Depends: xterm
    xterm:i386
 |Depends: gnome-terminal
  Depends: konsole
  Depends: xz-utils
    xz-utils:i386
  Depends: zenity
    zenity:i386
  Breaks: <steam64>
  Breaks: <steam64:i386>
  Replaces: <steam>
  Replaces: steam:i386
  Replaces: <steam64>
  Replaces: <steam64:i386>

┌─[16:47][leave][~] 
└─╼ cat /etc/issue
Debian GNU/Linux jessie/sid \n \l

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

Ну да, для установки клиента не требует, но для графического ускорения в играх он будет использовать 32-битные библиотеки, а не 64-битные.

You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1

Строго говоря, его можно и с nouveau запустить, но лучше не надо.

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

Ну, а в чём тогда проблемы?! Повторяю, что он спокойно ставится без костылей. И всё, opengl есть как из 64-х битных, так и из 32-х битных софтин.

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

Гм.

┌─[18:45][leave][Team Fortress 2] 
└─╼ aptitude show libgl1-nvidia-glx:i386|grep -i install
State: installed
Automatically installed: no
PreDepends: nvidia-installer-cleanup, multiarch-support

Да, вспомнил: был конфликт с ченджлогом. Разрулил руками.

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

О, libgl1-nvidia-glx:i386 больше не зависит от libxvmc (разделили и зависящую часть вынесли в отдельный пакет). libxvmс по-прежнему поломана, но основная часть драйверов ставится без нее. Таки отстал от жизни.

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