LINUX.ORG.RU

Gentoo: что делать с broken-либами после revdep-rebuild?


0

0

сабж. Удалять вручную? После revdep-rebuild остается такое:

Checking dynamic linking consistency...
  broken /usr/bin/gataxx (requires  libICE.so.6 libORBit-2.so.0 libORBitCosNaming-2.so.0 libSM.so.6 libX11.so.6 libXau.so.6 libXdmcp.so.6 libXrender.so.1 libbonobo-2.so.0 libbonobo-activation.so.4 libbonoboui-2.so.0 libcroco-0.6.so.3 libdbus-1.so.3 libdbus-glib-1.so.2 libfontconfig.so.1 libgnome-2.so.0 libgnome-keyring.so.0 libgnomecanvas-2.so.0 libgnomeui-2.so.0 libgnomevfs-2.so.0 libgsf-1.so.114 libgtk-x11-2.0.so.0 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 librsvg-2.so.2)
  broken /usr/bin/gfloppy (requires  libICE.so.6 libORBit-2.so.0 libORBitCosNaming-2.so.0 libSM.so.6 libX11.so.6 libXau.so.6 libXdmcp.so.6 libXrender.so.1 libbonobo-2.so.0 libbonobo-activation.so.4 libbonoboui-2.so.0 libdbus-1.so.3 libdbus-glib-1.so.2 libfontconfig.so.1 libglade-2.0.so.0 libgnome-2.so.0 libgnome-keyring.so.0 libgnomecanvas-2.so.0 libgnomeui-2.so.0 libgnomevfs-2.so.0 libgtk-x11-2.0.so.0 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0)
  broken /usr/bin/imtest (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/bin/jack_transport (requires  libjack.so.0)
  broken /usr/bin/lmtptest (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/bin/mupdatetest (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/bin/nntptest (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/bin/pnmtops (requires  libnetpbm.so.10)
  broken /usr/bin/pop3test (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/bin/sivtest (requires  libdb-4.3.so libsasl2.so.2)
  broken /usr/lib/libGLU.so.1.3.060501 (requires  libGL.so.1)

Зачем их удалять? написано же что "broken /usr/bin/gataxx" а не либы.
В скобочках показаны либы которые нужны для работы этих бинарников но по каким-то причинам не были найдены.
revdep-rebuild выяснит к каким пакетам принадлежат поломанные бинарники и запустит для них emerge.
Ничего удалять не надо.

Nao ★★★★★
()

Или это после повторной прогонки revdep-rebuild?
emerge нормально отрабатывает?

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

может какой ключ лишний добавил?

поробуй обновить revdep-rebuild

Nao ★★★★★
()

revdep-rebuild -i -- -p

Выдаст список пакетов, ничего не делая.

Потом рекомендую эти пакеты заемержить штатно, запустив emerge самостоятельно.

Если какой-то файл не принадлежит ни одному пакету - можно убить смело.

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

Дык может стоит без -p? Тогда он emerge запустит и пересоберет пакеты, из которых эти файлы.

Иногда его много раз надо запускать, ибо иногда А юзает Б, а Б юзает В и вот это В поменяло версию. И с первого раза он А пересобрать не додумается.

+ после этого стоит в текущем каталоге убить временные файлы .revdep*, иначе он их будет кушать при следующем запуске.

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

>Тогда он emerge запустит и пересоберет пакеты

Только он, во-первых, пересоберёт те версии, от которых эти левые файлы, что может привести к их неактуальности, во-вторых - сделает это по oneshot...

Так что лучше ручками :)

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

>после этого стоит в текущем каталоге убить временные файлы .revdep*

Ключик -i

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

>Только он, во-первых, пересоберёт те версии, от которых эти левые файлы Поэтому revdep-rebuild делается после emerge -uDN world, как правило. >во-вторых - сделает это по oneshot... Ну и хорошо, зачем либы, которые мне нужны лишь как зависимости, добавлять в world?

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

>Только он, во-первых, пересоберёт те версии, от которых эти левые файлы

Поэтому revdep-rebuild делается после emerge -uDN world, как правило. >во-вторых - сделает это по oneshot...

Ну и хорошо, зачем либы, которые мне нужны лишь как зависимости, добавлять в world?

Пардон, с форматированием не разобрался с первого раза.

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

1. -uDN world не всегда обновляет глубоко спрятанные либы :)

2. Более важное - "потерянные" либы часто бывают от старых версий пакетов. Так зачем ими мусорить, когда можно обновить до новых?

3. В world как раз добавлять и надо. Чтобы могли обновляться безгеморрно :)

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

>>-uDN world не всегда обновляет глубоко спрятанные либы

Насколько я понимаю, что если из world цепочка есть, то обновляет. Или как иначе?

>>В world как раз добавлять и надо. Чтобы могли обновляться безгеморрно

Да, только есть такое дело, что если либа вдруг стала не нужна (напр. прога стала юзать другую, или прогу ваще снесли), но попала в world, то --depclean ee уже не грохнет. И так и будет она в системе стоять нахер не нужная, ибо заметить это непросто. Да еще и обновляться будет регулярно.

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

>Насколько я понимаю, что если из world цепочка есть, то обновляет. Или как иначе?

Не знаю как, но бывало, что после -uDN world при пересборке какой-то либы, оказывалось, что она обновлялась. При чём никакие зависимости её от обновления не удерживали.

>Да, только есть такое дело, что если либа вдруг стала не нужна (напр. прога стала юзать другую, или прогу ваще снесли), но попала в world, то --depclean ee уже не грохнет.

Это да, согласен. Вообще, всё руки не доходят скриптик слепить, который составит список пакетов, от которых никто не зависит. Вполне может быть, что уже есть масса мусора :)

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

>Не знаю как, но бывало, что после -uDN world при пересборке какой-то либы, оказывалось, что она обновлялась. При чём никакие зависимости её от обновления не удерживали.

Дык может в world не было? Иначе - баги.

>Вообще, всё руки не доходят скриптик слепить, который составит список пакетов, от которых никто не зависит. Вполне может быть, что уже есть масса мусора :)

Велосипед полнейший :) Достаточно из world убрать то, что непосредственно не ставил или не знаешь, что это ваще, и запустить "emerge --depclean --pretend". Если он захочет что-то полезное грохнуть, добавить это в world и повторить. Если только хлам, то убрать --pretend и вперед. И далее поддерживать гигиену world. Это же именно для этого и сделано, и работает, если все правильно делать. Не вижу, зачем что-то придумывать...

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