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

обновление библиотек

Добавлено: 2006-12-16 19:17:50
vastni
Имеется:

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

# uname -r 
5.4-RELEASE
которая была обновлена пару недель назад с 5.1-Release

На данную систему ставился DrWeb 4.33. При установке данный порт затребовал, чтобы был установлен wget-1.8.2_6. В стандартных портах был только wget-1.8.2_3, поэтому требующийся порт был скачан вручную с одного из фтп-серверов.

Порт поставился (pkg_add wget-1.8.2_6.tgz), но после этого при вызове выдает следующую ошибку:

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

# wget                                                                          
/usr/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "wget"
Я так понимаю, что необходимо обновить библиотеки, но какие именно и как это сделать, я не пойму.

Добавлено: 2006-12-16 22:37:21
zorg
надо было порты обновить, а потом ставить то что нужно!
И вообще это стоит брать за правило, перед установкой проводить обновление портов.

Добавлено: 2006-12-17 20:14:18
vastni
То есть необходимо было перед установкой обновить при помощи CVSup порты (ports-all), потом перестроить заново весь мир, включая пересборку ядра, а только потом уже ставиться? Или makeworld необходимо проделывать только при обновлении src-all?

А как тогда обновлять все остальные пакеты, которые были установлены ранее? Через portupgrade? И необходимо ли их пересобирать?

Я просто не совсем понимаю всей процедуры обновления установленного ПО.

Добавлено: 2006-12-17 20:42:50
FreePascal
Посмотри есть ли у тебя ета библиотека вообще.
Я думаю есть полюбому только версия более ранняя.
Если он просит libintl.so.6 то ищи чтото похожее на ето libintl.so.5
и сделай символическую ссылку типа етой

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

ln -s /usr/local/lib/libintl.so.6 /usr/local/lib/libintl.so.5 
Скорее всего он выдаст еще пару недостающих библиотек и проделай тоже самое с ними
И все по идее заработает :D [/code]

Добавлено: 2006-12-18 21:00:27
zorg
не знаю, но думаю что всякие такие подмены не есть хорошо!!

Если делаешь обновление портов, то совсем не обязательно обновлять исходники и тем более пересобирать мир.
Установленные порты можно обновлять портапгрейд, а мона и не обновлять! Тут как всё работать будет!!! :)

Добавлено: 2006-12-19 19:19:11
vastni
FreePascal писал(а):Посмотри есть ли у тебя ета библиотека вообще.
Я думаю есть полюбому только версия более ранняя.
Если он просит libintl.so.6 то ищи чтото похожее на ето libintl.so.5
и сделай символическую ссылку типа етой

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

ln -s /usr/local/lib/libintl.so.6 /usr/local/lib/libintl.so.5 
Скорее всего он выдаст еще пару недостающих библиотек и проделай тоже самое с ними
И все по идее заработает :D [/code]
Есть файл libintl.so.4, если прописать символическую ссылку, то после этого он требует библиотеку libc.so.4. Если создать на нее ссылку тоже, то wget запускается, но мне кажется, что это всё же не совсем правильно. Как то же должны эти библиотеки обновляться?

Добавлено: 2006-12-19 19:20:56
vastni
zorg писал(а):не знаю, но думаю что всякие такие подмены не есть хорошо!!

Если делаешь обновление портов, то совсем не обязательно обновлять исходники и тем более пересобирать мир.
Установленные порты можно обновлять портапгрейд, а мона и не обновлять! Тут как всё работать будет!!! :)
А как избежать данных подмен? Эти библиотеки обновляются вместе с обновлением портов? Или за них отвечает какой-то определенный порт, который достаточно обновить, чтобы устранить проблему?

Добавлено: 2006-12-19 20:33:28
zorg
если уж совсем запарно разбираться, то деинсталируй приложение, обнови порты и поставь его заново потом посмотри что будет! :)