Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] emerge -uND world - не найден libexpat.so.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Sun Sep 02, 2007 1:47 pm    Post subject: [solved] emerge -uND world - не найден libexpat.so.0 Reply with quote

Вздумал обновить систему...

$ 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
View user's profile Send private message
_Sir_
Guru
Guru


Joined: 17 Jan 2005
Posts: 337
Location: Russia, Togliatti

PostPosted: Sun Sep 02, 2007 2:43 pm    Post subject: Re: emerge -uND world - не найден libexpat.so.0 Reply with quote

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
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Sun Sep 02, 2007 6:47 pm    Post subject: Reply with quote

Спасибо.

Сделал ещё раз
Code:
revdep-rebuild --library=libexpat.so.0
- *после* всех упомянутых в исходном сообщении манипуляций - и ссылки на libexpat.so.0 исчезли.
Факт остаётся тот, что мне пришлось ручками создавать .so.0, и непонятно, можно ли было без этого обойтись. Непонятно также, чем же я такой неправильный пользователь, что у меня это проблема возникла, тогда как у других всё в порядке.

Quote:
Криво. Но ведь это неважно, верно?

Не фатально, но важно. Важно для того, чтобы оставаться в рамках той системы, которая поддерживается командой gentoo. Я полагаю, лучше понимать то, что есть, чем придумывать себе новые проблемы. Потому вопрос и возник.

Поскольку теперь уже всё починено, а следы неисправности заметены, то можно считать, что вопрос снят. Ещё раз спасибо.
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Sun Sep 02, 2007 8:30 pm    Post subject: Reply with quote

// Да, конечно, гуглить мозиллой на рабочей системе веселее, чем 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
View user's profile Send private message
_Sir_
Guru
Guru


Joined: 17 Jan 2005
Posts: 337
Location: Russia, Togliatti

PostPosted: Mon Sep 03, 2007 9:21 pm    Post subject: Reply with quote

Достаточно было линка. Те "либы" о которых так много говорили, так же были линками.
Вы разве не смотрели ls -l в своей системе или хотя бы в моем посте?

И portage, когда появляется его обновление, я, как и советует выдача на консоли, обновляю до того, как делать дальнейшие телодвижения. То есть отдельно, ручками.

emerge -va portage

В общем, будем считать, Вам не повезло. Но мне почему-то кажется, что таких невезений именно у Вас будет еще достаточно.

Понаблюдаем :) Быть может я и ошибаюсь.
_________________
(Sir) * Life is placeholder for Love *
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Tue Sep 04, 2007 4:35 am    Post subject: Reply with quote

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
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Thu Sep 06, 2007 5:25 am    Post subject: Reply with quote

Нашёл конкретное решение без симлинков.

Начальные условия те же - 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
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Thu Sep 06, 2007 7:59 am    Post subject: Reply with quote

основное достоинство такого понятия, как опыт состоит в том, что его можно передать другим =)
https://forums.gentoo.org/viewtopic-t-556773.html
последний пост :wink:
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Thu Sep 06, 2007 3:29 pm    Post subject: Reply with quote

Да, спасибо, именно благодаря твоему посту в том треде (ну, и, конечно, благодаря треду про апач), и ориентируясь на такой стиль решения, я и подобрал такой бубен для своего случая.

Писать эту десктопную проблему в топик про подводные камни отдельным сообщением я постеснялся, т.к. это уже упомянутый там expat.so.0, да и к тому же - довольно редкий случай. Поэтому и изложил всё здесь. Мне кажется, если уж писать - то сразу и про запуск апач, и про сборку qt, стиль один. Если считаешь, что добавить туда стоит, то буду благодарен, если ты дополнишь (отредактируешь) свой пост пояснением про qt. Если считаешь, что не надо, то не надо :)

По сути, тут, в сравнении с апачем, добавляется только emerge -1 fontconfig и повторный emerge -NDu world (т.к. к этому моменту система всё ещё не обновлена). Ну а потом уже revdep-rebuild.
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Fri Sep 07, 2007 8:39 am    Post subject: Reply with quote

Quote:
Писать эту десктопную проблему в топик про подводные камни отдельным сообщением я постеснялся, т.к. это уже упомянутый там expat.so.0, да и к тому же - довольно редкий случай. Поэтому и изложил всё здесь. Мне кажется, если уж писать - то сразу и про запуск апач, и про сборку qt, стиль один. Если считаешь, что добавить туда стоит, то буду благодарен, если ты дополнишь (отредактируешь) свой пост пояснением про qt. Если считаешь, что не надо, то не надо :)

ты имеешь в виду, что затык на qt у тебя, а я там указал apache?
так это всего лишь для примера и в основном для релевантности, если так можно выразиться

просто проблема с qt по большому счету никого сильно волновать не будет, и можно в спокойной обстановке сесть и разобраться в причинах

в случае же apache, а значит, и "серверной" направленности вопроса админу вывалится результат поиска, в котором даже не русскоязычный разберется без труда. Тут ситуация другая и может грозить админу лишением премии :D

а по поводу "редкого случая" ты зря - https://forums.gentoo.org/viewforum-f-8.html
первый топик страниц на 12 прилеплен :wink:

так что... имеет смысл

к тому же, данный пост-руководство довольно полезен для новичков как достаточно универсальный пример разрешения проблем с "потерянными" библиотеками
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Fri Sep 07, 2007 8:30 pm    Post subject: Reply with quote

Ну что ж... убедил. Хотя, мне всё равно кажется, мое знание предмета недотягивает до написания статей в FAQ. В общем, претензии, поправки и пожелания (if any) принимаются.
Back to top
View user's profile Send private message
andreyu
n00b
n00b


Joined: 28 Mar 2006
Posts: 25
Location: Belarus

PostPosted: Thu Sep 13, 2007 6:09 am    Post subject: Reply with quote

Вчера столкнулся с такой же проблемой на десктопе жены при компиляции Qt. Заморачиваться не стал, просто сделал линк на библиотеку.
Я ошибся в выборе пути решения данной проблемы?
_________________
Regards, _Andrey_
http://www.wegroup.org
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Thu Sep 13, 2007 7:44 am    Post subject: Reply with quote

да, ты ошибся.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
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