Страница 1 из 1

FreeBSD и библиотеки lib

Добавлено: 2018-04-11 11:42:51
Reken
Подскажите пожалуйста:
При обновлении портов через portupgrade, постоянно ругается на отсутствие библиотек...

Код: Выделить всё

--->  Cleaning out obsolete shared libraries
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libgpg-error.so.0.23.0
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libexslt.so.0.8.20
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libxslt.so.1.1.32
FreeBSD 10.4

FreeBSD и библиотеки lib

Добавлено: 2018-04-11 13:13:21
guest
если Вы используете portupgrade - почему бы не изучить как работает?
в /usr/local/compat/pkg - сохраняются библиотеки установленных пакетов,
при апгрейде вычищаются, можно руками или portsclean.
Не использую portupgrade, но могу предположить что для отката сохраняет библиотеки
и затем при необходимости или за ненадобностью зачищает.
Сообщение же говорит что нет каких-то библиотек, это возможно в процессе удаления, либо
были удалены ранее. Список либо где-то хранится, либо формируется при апгрейде.

Еще раз, верхнее лишь предположение.

FreeBSD и библиотеки lib

Добавлено: 2018-10-12 11:25:06
pnh2all
Может кому пригодится...
После обновления на 11.2 получил похожую проблему с portupgrade

Код: Выделить всё

No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/db5
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libXaw7.so.7
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libXaw6.so.6
Помогло удаление пустых симлинков.

FreeBSD и библиотеки lib

Добавлено: 2018-10-25 11:04:49
Nick_mad
Здравствуйте.

Также столкнулся с этой проблемой.

Удаление пустых симлинков поможет только до обновления того пакета который использовал данную либу.
У меня например

Код: Выделить всё

No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libmysqlclient.so.18
удаляю симлик, пакеты собираются, ошибки не выводяться

по соит мне обновить mysql-clien

Код: Выделить всё

 portupgrade -f mysql56-client-5.6.41_1

* * * * * * * * * * * * * * * * * * * * * * * *

===>  Cleaning for mysql56-client-5.6.41_1
--->  Cleaning out obsolete shared libraries
No such file or directory @ realpath_rec - /usr/local/lib/compat/pkg/libmysqlclient.so.18

проскакивало как то уведомление

Код: Выделить всё

 --> Running ldconfig -m for /usr/local/lib/compat/pkg
Выполнял не помогло, так что если вы удалил битые симлинки то вы не решили проблему а просто отложили ее.
А вот как решить ее я до сих пор не нашел, хотя уже не раз пробовал.

FreeBSD и библиотеки lib

Добавлено: 2019-09-26 11:55:34
allan_sundry
Нашел вот такое решение:

Код: Выделить всё

# change folder
cd /usr/local/lib/compat/pkg
# print dangling links
find . -type l -exec test ! -e {} \; -print
# delete dangling links
find . -type l -exec test ! -e {} \; -delete
https://forums.freebsd.org/threads/no-s ... rec.65680/