Вы здесь

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

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

первая мысль

ldd $program_name

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

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

—

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

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

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

из штатных ldconfig

—

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

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

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и знания анлийского конечно хромают, но, ИМХО, нет, никогда не умел и не умеет. Это не те линки
Вобщем покажите пример :)

—

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и знания анлийского конечно хромают, но, ИМХО, нет, никогда не умел и не умеет. Это не те линки
Вобщем покажите пример :)

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

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

—

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

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

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

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

—

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

скрипт, что по ссылке выше (подправил чуть)
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 есть для этого... у бустеров череззадничная система версионирования

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

о как ))

—

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