FreeBSD : Shared object «libicui18n.so.38» not found


Tagged , , ,

После обновления icu отвалились некоторые пакеты. При запуске просили версию 3.8 с которой они были слинкованы при сборке.
Пример ошибки mplayer’а (
$ mplayer ./File.mpg
/libexec/ld-elf.so.1: Shared object «libicui18n.so.38» not found, required by «libgtk-x11-2.0.so.0»
)

Последняя собранная версия — 4.6. Для того чтобы временно решить проблему создал линки с названиями от версии 3.8 на установленные уже либы 4.6:
Пример:

# ln -s /usr/local/lib/libicui18n.so.46.0 /usr/local/lib/libicui18n.so.38

Для того чтобы немного автоматизировать написал скрипт, пользуйтесь:

#!/usr/bin/sh

chdir «/usr/local/lib»
if [ «`pwd`» = «/usr/local/lib» ];
then
ln -s libicudata.so.46.0 libicudata.so.38
ln -s libicui18n.so.46.0 libicui18n.so.38
ln -s libicuio.so.46.0 libicuio.so.38
ln -s libicule.so.46.0 libicule.so.38
ln -s libiculx.so.46.0 libiculx.so.38
ln -s libicutest.so.46.0 libicutest.so.38
ln -s libicutu.so.46.0 libicutu.so.38
ln -s libicuuc.so.46.0 libicuuc.so.38
else
echo Dir not changed
fi

немного изменив цифры версий можно создавать симлинки с любых на любые версии. Данный скрипт создает симлинки только на icu.

Share:

4 комментария

RSS / trackback

Respond