View previous topic :: View next topic |
Author |
Message |
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sun Sep 02, 2007 1:47 pm Post subject: [solved] emerge -uND world - не найден libexpat.so.0 |
|
|
Вздумал обновить систему...
$ emerge --sync && emerge -vNDu world
При компиляции qt получаю: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory.
Имею нефункциональную систему.
Поиском по логу выясняется, что при обновлении expat с 1.95.8 на 2.0.1 имя библиотеки сменилось с so.0 на so.1, и было сказано, чтобы я напустил revdep-rebuild.
$ revdep-rebuild --library=libexpat.so.0 -X
(сначала начал делать то же самое без -X, но передумал и прервал)
Долго думает, потом долго что-то собирает, но снова спотыкается при сборке qt. Заколдованный круг.
Не имея иных идей (не считая ln -s libexpat.so.1 libexpat.so.0, в котором я не уверен), достаю libexpat.so.0 из бакапа, кладу на старое место Система начинает работать.
$ emerge -vNDu world
всё проходит (внешне) нормально.
Думаю, как теперь избавиться от старой версии libexpat:
Code: | # ldd `which kwrite` |grep exp
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6bec000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb6840000) |
То есть, теперь используются обе. Избавиться от старой нельзя.
Гуглю. Вроде, тема не самая популярная. Из самого близкого нахожу http://www.gentoo.ru/node/7965, но только в виде оборота "Ну, ладно. Обновление libexpat на десктопе мы пережили."
Что я сделал не так? В какой момент я наступил на эти грабли? Наконец, дежурный вопрос - как довести систему до штатного (для gentoo) состояния?
Дело осложняется тем, что большая часть логов уже потерялась.
Last edited by user11 on Sun Sep 02, 2007 8:31 pm; edited 1 time in total |
|
Back to top |
|
|
_Sir_ Guru
Joined: 17 Jan 2005 Posts: 337 Location: Russia, Togliatti
|
Posted: Sun Sep 02, 2007 2:43 pm Post subject: Re: emerge -uND world - не найден libexpat.so.0 |
|
|
user11 wrote: | Не имея иных идей (не считая ln -s libexpat.so.1 libexpat.so.0, в котором я не уверен), достаю libexpat.so.0 из бакапа, кладу на старое место Система начинает работать | Криво. Но ведь это неважно, верно?
user11 wrote: | Думаю, как теперь избавиться от старой версии libexpat: Code: | # ldd `which kwrite` |grep exp
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6bec000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb6840000) |
То есть, теперь используются обе. Избавиться от старой нельзя. | Ну, раз вы сами решили, что нельзя, значит так и живите с ней. user11 wrote: | Гуглю. Вроде, тема не самая популярная. Из самого близкого нахожу http://www.gentoo.ru/node/7965, но только в виде оборота "Ну, ладно. Обновление libexpat на десктопе мы пережили."
Что я сделал не так? | Все. В том числе, невнимательно прочли тред с проблемой пересборки апача. Там говорилось, что ln -s решает данную проблему. Поскольку в гугле тема непопулярна, следует считать, что большинство пользователей либо вообще не обновляется, либо просто не заметили этой проблемы Логично?
Я, конечно, далеко не гуру, но как-то меня тоже эта ситуация не коснулась, хотя обновление libexpat совпало у меня с обновлением KDE 3.5.5 на 3.5.7 на ноутбуке x86_64 и на домашней машине x86. Попробуйте удалить ту библиотеку, (старую) с которой вы насильно собрали пакеты, и вдумчиво Code: | revdep-rebuild -- -v -p | этот скрипт не всегда может корректно определить порядок сборки. Иногда он об этом говорит честно чаще -- нет. Кстати, на буке у меня обе qt -- и третья и четвертая.
Code: | sir@bb ~ $ ls -l /usr/lib/libexpat.so*
lrwxrwxrwx 1 root root 17 Aug 24 00:18 /usr/lib/libexpat.so -> libexpat.so.1.5.2
lrwxrwxrwx 1 root root 17 Aug 24 00:18 /usr/lib/libexpat.so.1 -> libexpat.so.1.5.2
-rwxr-xr-x 1 root root 129540 Aug 24 00:18 /usr/lib/libexpat.so.1.5.2
|
Code: | sir@bb ~ $ eix expat
[I] dev-libs/expat
Available versions: 1.95.7 ~1.95.7-r1 1.95.8 ~2.0.0 2.0.1 {test}
Installed versions: 2.0.1(00:18:53 08/24/07)
|
_________________ (Sir) * Life is placeholder for Love * |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sun Sep 02, 2007 6:47 pm Post subject: |
|
|
Спасибо.
Сделал ещё раз Code: | revdep-rebuild --library=libexpat.so.0 | - *после* всех упомянутых в исходном сообщении манипуляций - и ссылки на libexpat.so.0 исчезли.
Факт остаётся тот, что мне пришлось ручками создавать .so.0, и непонятно, можно ли было без этого обойтись. Непонятно также, чем же я такой неправильный пользователь, что у меня это проблема возникла, тогда как у других всё в порядке.
Quote: | Криво. Но ведь это неважно, верно? |
Не фатально, но важно. Важно для того, чтобы оставаться в рамках той системы, которая поддерживается командой gentoo. Я полагаю, лучше понимать то, что есть, чем придумывать себе новые проблемы. Потому вопрос и возник.
Поскольку теперь уже всё починено, а следы неисправности заметены, то можно считать, что вопрос снят. Ещё раз спасибо. |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sun Sep 02, 2007 8:30 pm Post subject: |
|
|
// Да, конечно, гуглить мозиллой на рабочей системе веселее, чем links'ом из консольки 80x25
Нашёл-таки тред
https://forums.gentoo.org/viewtopic-t-575289.html
где, после долгих выяснений и недосказанностей, разработчики признаются, что это (если я правильно понял, что *это* - и есть моя проблема) баг:
https://forums.gentoo.org/viewtopic-t-575289-postdays-0-postorder-asc-highlight-188782-start-25.html#4185129
и ссылаются на баг в portage https://bugs.gentoo.org/show_bug.cgi?id=188782 (баг уже исправлен).
Как я понял, в такую идиотскую ситуацию попадают те, кто, как и я, имея portage версии ровно 2.1.2.11 (ну, или, быть может, ещё 2.1.2.10, если такая была), начинают обновлять expat с 1-го до 2-го. Те, у кого на этот момент portage 2.1.2.9 или 2.1.2.12-й, с этим, КАК Я ПОНЯЛ, не сталкиваются.
Вот "роковой" кусок моего emerge -uND world:
Code: | [ebuild U ] sys-apps/portage-2.1.2.12 [2.1.2.11] USE="-build -doc -epydoc (-selinux)" LINGUAS="-pl" 0 kB
*** Portage will stop merging at this point and reload itself,
then resume the merge.
[ebuild U ] sys-devel/autoconf-2.61-r1 [2.61] USE="-emacs" 0 kB
[ebuild U ] dev-libs/openssl-0.9.8e-r2 [0.9.8d] USE="zlib -bindist -emacs -sse2 -test" 3,264 kB
[ebuild U ] media-libs/libpng-1.2.18-r1 [1.2.18] USE="-doc" 0 kB
[ebuild U ] dev-libs/expat-2.0.1 [1.95.8] USE="(-test%)" 436 kB |
|
|
Back to top |
|
|
_Sir_ Guru
Joined: 17 Jan 2005 Posts: 337 Location: Russia, Togliatti
|
Posted: Mon Sep 03, 2007 9:21 pm Post subject: |
|
|
Достаточно было линка. Те "либы" о которых так много говорили, так же были линками.
Вы разве не смотрели ls -l в своей системе или хотя бы в моем посте?
И portage, когда появляется его обновление, я, как и советует выдача на консоли, обновляю до того, как делать дальнейшие телодвижения. То есть отдельно, ручками.
emerge -va portage
В общем, будем считать, Вам не повезло. Но мне почему-то кажется, что таких невезений именно у Вас будет еще достаточно.
Понаблюдаем Быть может я и ошибаюсь. _________________ (Sir) * Life is placeholder for Love * |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Tue Sep 04, 2007 4:35 am Post subject: |
|
|
Quote: | Те "либы" о которых так много говорили, так же были линками.
Вы разве не смотрели ls -l в своей системе или хотя бы в моем посте? |
Вы хотите сказать, что Вы бы сделали ln -s so.1 so.0 и забыли бы об этой проблеме? Быть может, Вы бы сделали иначе, но просто не стали бы об этом спрашивать на форуме?
Quote: | И portage, когда появляется его обновление, я, как и советует выдача на консоли, обновляю до того, как делать дальнейшие телодвижения. То есть отдельно, ручками.
emerge -va portage |
Ну, если бы какая-то аналогичная библиотека обновилась бы в тот момент, когда я обновлял portage с 2.1.2.9 до 2.1.2.11, то в моём, "ламерском" варианте, я бы провёл обновление системы 9-й версией portage (и всё было бы хорошо), а в Вашем, "аккуратном" - система обновлялась уже 11-й версией, с багом - и я бы в аккурат нарвался бы на аналогичную проблему.
Quote: | В общем, будем считать, Вам не повезло. Но мне почему-то кажется, что таких невезений именно у Вас будет еще достаточно. |
Пожалуйста, поясните - каких "таких"? Без этого уточнения это просто флейм. |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Thu Sep 06, 2007 5:25 am Post subject: |
|
|
Нашёл конкретное решение без симлинков.
Начальные условия те же - portage 2.1.2.11 (и должен обновиться), а expat должен обновиться с 1-го на 2-й. Система "десктопная". Требуется просто обновить систему.
Code: | emerge --sync && emerge -NDu world # с этого всё началось
# вываливается, скажем, на qt
# допустим, проблему ещё не понял, попытался "ещё раз"
# заодно собрались ещё некоторые другие пакеты (вероятно, и важный для дальнейшего gettext)
emerge -NDu world
# тут можно попытаться сделать
# revdep-rebuild -p --library libexpat.so.0
# но оно всё равно заткнётся на qt
# не делаем. Переходим к исправлению конкретной ситуации.
emerge -1 fontconfig # будем считать, что мы угадали, что надо обновить
emerge -NDu world # теперь всё получается
revdep-rebuild --library libexpat.so.0 # обновляем ещё кучу битых зависимостей - тоже всё получается
revdep-rebuild -p --library libexpat.so.0 # проверяем, что все зависимости исправились
|
Одна беда - все эти ad-hoc рецепты помогают только для данной проблемы, связанной с данной версией пакетов и пр. |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Thu Sep 06, 2007 3:29 pm Post subject: |
|
|
Да, спасибо, именно благодаря твоему посту в том треде (ну, и, конечно, благодаря треду про апач), и ориентируясь на такой стиль решения, я и подобрал такой бубен для своего случая.
Писать эту десктопную проблему в топик про подводные камни отдельным сообщением я постеснялся, т.к. это уже упомянутый там expat.so.0, да и к тому же - довольно редкий случай. Поэтому и изложил всё здесь. Мне кажется, если уж писать - то сразу и про запуск апач, и про сборку qt, стиль один. Если считаешь, что добавить туда стоит, то буду благодарен, если ты дополнишь (отредактируешь) свой пост пояснением про qt. Если считаешь, что не надо, то не надо
По сути, тут, в сравнении с апачем, добавляется только emerge -1 fontconfig и повторный emerge -NDu world (т.к. к этому моменту система всё ещё не обновлена). Ну а потом уже revdep-rebuild. |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Fri Sep 07, 2007 8:39 am Post subject: |
|
|
Quote: | Писать эту десктопную проблему в топик про подводные камни отдельным сообщением я постеснялся, т.к. это уже упомянутый там expat.so.0, да и к тому же - довольно редкий случай. Поэтому и изложил всё здесь. Мне кажется, если уж писать - то сразу и про запуск апач, и про сборку qt, стиль один. Если считаешь, что добавить туда стоит, то буду благодарен, если ты дополнишь (отредактируешь) свой пост пояснением про qt. Если считаешь, что не надо, то не надо |
ты имеешь в виду, что затык на qt у тебя, а я там указал apache?
так это всего лишь для примера и в основном для релевантности, если так можно выразиться
просто проблема с qt по большому счету никого сильно волновать не будет, и можно в спокойной обстановке сесть и разобраться в причинах
в случае же apache, а значит, и "серверной" направленности вопроса админу вывалится результат поиска, в котором даже не русскоязычный разберется без труда. Тут ситуация другая и может грозить админу лишением премии
а по поводу "редкого случая" ты зря - https://forums.gentoo.org/viewforum-f-8.html
первый топик страниц на 12 прилеплен
так что... имеет смысл
к тому же, данный пост-руководство довольно полезен для новичков как достаточно универсальный пример разрешения проблем с "потерянными" библиотеками |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Fri Sep 07, 2007 8:30 pm Post subject: |
|
|
Ну что ж... убедил. Хотя, мне всё равно кажется, мое знание предмета недотягивает до написания статей в FAQ. В общем, претензии, поправки и пожелания (if any) принимаются. |
|
Back to top |
|
|
andreyu n00b
Joined: 28 Mar 2006 Posts: 25 Location: Belarus
|
Posted: Thu Sep 13, 2007 6:09 am Post subject: |
|
|
Вчера столкнулся с такой же проблемой на десктопе жены при компиляции Qt. Заморачиваться не стал, просто сделал линк на библиотеку.
Я ошибся в выборе пути решения данной проблемы? _________________ Regards, _Andrey_
http://www.wegroup.org |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Thu Sep 13, 2007 7:44 am Post subject: |
|
|
да, ты ошибся. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|