библиотеки и ссылки

в /usr/lib лежат библиотеки с номерами версии и ссылки на них без этого номера. при обновлении boost из overlay openoffice-geki до 1.45 ссылки не обновились. Собственно с подобной проблемой уже сталкивался, часто требуется, чтобы на библиотеку была ссылка без номера версии, например в таких пакетах, как dev-games/irrlicht. изобретать велосипед не хочется, поэтому вопрос: есть ли стандартный способ это контролировать/настраивать?

первая мысль ldd

первая мысль

ldd $program_name

дальше bash,sed,app-misc/symlinks

о! кажись, прям по вашей теме:
http://stackoverflow.com/questions/462100/bash-script-to-create-symbolic-links-to-shared-libraries

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

я вас правильно понял? вы

я вас правильно понял? вы предлагаете использовать тот скрипт?
есть ли штатные средства для решения проблемы?

lex4051 написал(а): я вас

lex4051 написал(а):
я вас правильно понял? вы предлагаете использовать тот скрипт?
есть ли штатные средства для решения проблемы?

из штатных ldconfig

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

он разве умеет

он разве умеет обновлять/создавать ссылки?

lex4051 написал(а): он разве

lex4051 написал(а):
он разве умеет обновлять/создавать ссылки?

ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib). The cache is used by the run-time linker, ld.so or ld-linux.so. ldconfig checks the header and filenames of the libraries it encounters when determining which versions should have their links updated. 

вроде всегда умел, не?

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Moи знания анлийского конечно

Moи знания анлийского конечно хромают, но, ИМХО, нет, никогда не умел и не умеет. Это не те линки
Вобщем покажите пример :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): Moи

slepnoga написал(а):
Moи знания анлийского конечно хромают, но, ИМХО, нет, никогда не умел и не умеет. Это не те линки
Вобщем покажите пример :)

пардон! он для динамического компоновщика! сам он симлинков не создаёт.
тогда можно или те скрипты, что по ссылке, или тот же ldconfig/ld и bash&sed
чуть позднее попробую наваять скрипт...

Андрей, а у меня вопрос: "Что с сайтом? У меня он очень медленно открывается."

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

slepnoga написал(а): Вобщем

slepnoga написал(а):
Вобщем покажите пример :)

пример ниже (: запускать желательно от root, не задумываясь :)

./make_symlinks.sh `find /usr/lib/ -iname "*.so.*"`

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

lex4051 написал(а): он разве

скрипт, что по ссылке выше (подправил чуть)
make_symlinks.sh

#!/bin/bash

for baselib in "$@"
do
    shortlib=$baselib
    while extn=$(echo $shortlib | sed -n '/\.[0-9][0-9]*$/s/.*\(\.[0-9][0-9]*\)$/\1/p')
          [ -n "$extn" ]
    do
		shortlib=${shortlib%$extn}
		echo "$(basename $baselib) => $shortlib"
		ln -s $(basename $baselib) $shortlib
    done
done

соотвественно на вход ему подаётся список динамических библиотек.
сам список может быть создан либо вручную(Ъ), либо сгенерирован по зависимостям к-л программы, используя вывод ldd, например так

ldd /bin/nano|cut -d" " -f1|sed 's/\t//g'

и через конвейер передан в make_symlinks.sh

p.s. блин, в тегах php syntax highlight есть и всё красиво, но символы режутся =(

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

eselect boost есть для

eselect boost есть для этого... у бустеров череззадничная система версионирования

zaufi написал(а): eselect

zaufi написал(а):
eselect boost есть для этого... у бустеров череззадничная система версионирования

о как ))

Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".