>Здравствуйте!
>Возникла неприятная проблема, не знаю как решить. После установки некой программы из
>портов, обновилась библиотека gettext. После чего начал жутко тормозить сендмыл и
>перестал запускаться mc.При попытке пересобрать mc, компилятор кричит, что нужна старая
>версия библиотеки, а поставить он ее не может, так как стоит
>уже новая.
>Подскажите, как выходить из таких ситуаций?
>И вообще получается, что обновив какую-то библиотеку, нужно пересобирать все установленные программы?
>
>
>Заранее спасибо!
>
>Дмитрий
более свежие версии динамических библиотек обычно включают в себя функции
старых, посему, после установки более свежей версии ДИНАМИЧЕСКОЙ библиотеки, можно сделать следующее (допустим проверить как собран mc):
[unix1]~ > whereis midc
midc: /usr/local/bin/midc /usr/local/man/man1/midc.1.gz
[unix1]~ > ldd /usr/local/bin/midc
/usr/local/bin/midc:
libslang.so.1 => /usr/local/lib/libslang.so.1 (0x180da000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x18139000)
libintl.so.1 => /usr/local/lib/libintl.so.1 (0x1817b000)
libglib12.so.3 => /usr/local/lib/libglib12.so.3 (0x1817f000)
libc.so.4 => /usr/lib/libc.so.4 (0x181a1000)
libm.so.2 => /usr/lib/libm.so.2 (0x1823c000)
[unix1]~ >
если выше какая-то библиотека НЕ БУДЕТ найдена, но мы точно знаем что есть
более свежая, то берем имя отсутствующей библиотеки из верхнего output
и делаем линк новой на старое имя, затем снова ldd и потом пробуем
запустить приложение.
По-поводу сборки - ничего сложного, достаточно поправить либо configure,
либо Makefile на предмет проверки библиотеки и линковки.