Главная
Главная Руководства FreeBSD › FreeBSD ошибка libicui18n.so.XX not found



Автор:

Статья опубликована: 2016-11-26 22:10:13
Последние правки: 2018-05-19 23:44:06

Такая ошибка обычно возникает после очередного обновления портов. Цифры в сообщениях могут различаться, так как версии не стоят на месте, но метод исправления не меняется.

error while loading shared libraries: libicui18n.so.49: cannot open shared object file: No such file or directory
и (или)
Shared object "libicui18n.so.48" not found, required by "mc"
и (или)
/usr/local/lib/libglib-2.0.so: undefined reference to `ucol_strcoll_3_4' 
/usr/local/lib/libglib-2.0.so: undefined reference to `u_errorName_3_4' 
/usr/local/lib/libglib-2.0.so: undefined reference to `ucol_open_3_4' 
/usr/local/lib/libglib-2.0.so: undefined reference to `ucol_getSortKey_3_4' 
/usr/local/lib/libglib-2.0.so: undefined reference to `u_strFromUTF8_3_4'
Почему и как бороться?

Всё дело в портах icu (/usr/ports/devel/icu) и glib20 (/usr/ports/devel/glib20). Один не может жить без другого, но вместе они обновляются почему то не всегда.

Что необходимо сделать?

После обновления icu (а если эти ошибки появились, значит он уже обновился) необходимо пересобрать порт glib20
# cd /usr/ports/devel/glib20
# make
Если все прошло успешно, то выполняем
# make deinstall
# make install clean
Ошибка всё ещё есть? Сделайте полную пересборку установленных в системе портов
# portupgrade -af