Здравствуйте!
Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол, "/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например, к себе libm.so.5, или ещё как.
>Здравствуйте!
>Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол,
>"/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и
>соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки
>получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты
>рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например,
>к себе libm.so.5, или ещё как.man libmap.conf
> man libmap.confА нельзя ли подробнее? Я не совсем понял, что именно предлагается мапить. В случае проблем с обратной совместимостью, можно было бы замапить, например, libm.so.5 на libm.so.3. А тут я как-то не улавливаю идеи.
И, опять же, не возникнет из-за этого проблем? Каким-то приложениям ведь нужна будет libm.so.5.
>Каким-то приложениям ведь нужна будет libm.so.5.То есть, libm.so.4.
>Здравствуйте!
>Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол,
>"/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и
>соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки
>получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты
>рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например,
>к себе libm.so.5, или ещё как.откуда пакеты берете?! (полный url)
>откуда пакеты берете?! (полный url)Я что-то не припомню, откуда именно тарболы брал. :-) Перл, наверное, отсюда: ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/. А сквид, наверное, оттуда же, и с сайта разработчиков в виде исходников.
В общем, не помню :-)
>Здравствуйте!
>Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол,
>"/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и
>соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки
>получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты
>рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например,
>к себе libm.so.5, или ещё как.
>>Здравствуйте!
>>Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол,
>>"/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и
>>соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки
>>получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты
>>рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например,
>>к себе libm.so.5, или ещё как.
>
>https://www.opennet.ru/openforum/vsluhforumID1/86560.htmlи что? там 7.2, здесь 6.3 - телепаты в отпуске, попытка ЧТО ИЗОБРАЗИТЬ?
>Здравствуйте!
>Ставлю на FreeBSD 6.3 пакет perl-5.8.9_3. Пакет ставится, но сообщает, что, мол,
>"/libexec/ld-elf.so.1: Shared object "libm.so.5" not found, required by "perl". Ну, и
>соответственно при сборке некоторых других портов (напр-р squid) из-за этой библиотеки
>получается ошибка. Собственно, причины этого понятны - устанавливаемые порты и пакеты
>рассчитаны на более поздние релизы. Можно ли это обойти? Скопировать, например,
>к себе libm.so.5, или ещё как.А если обновить до 6.4, потом подтянуть свежее дерево портов и все из портов ставить
>А если обновить до 6.4, потом подтянуть свежее дерево портов и все
>из портов ставитьЯ бы хотел обойтись минимумом телодвижений, если возможно. Машина не моя, я просто хочу туда сквид воткнуть.
>А если обновить до 6.4, потом подтянуть свежее дерево портов и все
>из портов ставитьПортов, кстати, вообще нет. Так что остаются либо пакеты либо исходники.
>Здравствуйте! ... Можно ли это обойти?Слинковал я libm.so.4 на libm.so.5. Теперь сквид говорит так: "/libexec/ld-elf.so.1: Shared object "libсrypt.so.4" not found, required by "perl".
>>Здравствуйте! ... Можно ли это обойти?
>
>Слинковал я libm.so.4 на libm.so.5. Теперь сквид говорит так: "/libexec/ld-elf.so.1: Shared object
>"libсrypt.so.4" not found, required by "perl".все дело в том, что пакеты надо брать ДЛЯ СВОЕЙ СИСТЕМЫ, а не по принципу свежей.
Ибо сборка идет на конкретной системе и с конкретными библиотеками.А посему использовать ln для подсовывания другой версии библиотека не есть
правильный и удачный выход.
Иногда можно воспользоваться libmap, но только когда у нас происходит upgrade и
в установленных compatXY отсутствуют нужные библиотеки. Те преемственность в FreeBSD
замечательная, но она сверху вниз, а не снизу вверх.И уж никак все верхнее не поможет если у вас версия системы < (МЕНЬШЕ ЧЕМ) системы для которой собраны packages.
Собственно тут и объяснять нечего, это обычные знания по компиляции и линковке ПО и
совместимости сверху вниз, но не наоборот.Это понятно или еще нужно что-то пояснить?
>Это понятно или еще нужно что-то пояснить?Понятно, спасибо большое!
Момент, действительно, достаточно очевидный. Просто я предположил, что, может быть, есть какие-то рецепты для частных случаев типа моего. Я не имею возможности обновить систему, но хочу последний сквид 2.7.
>>Это понятно или еще нужно что-то пояснить?
>
>Понятно, спасибо большое!
>Момент, действительно, достаточно очевидный. Просто я предположил, что, может быть, есть какие-то
>рецепты для частных случаев типа моего. Я не имею возможности обновить
>систему, но хочу последний сквид 2.7.Разумеется есть, вот для этого и служат порты - те собирать самостоятельно порт под себя на своей системе.
Либо другой вариант - использовать portupgrade или portmaster для обновления требуемого
порта и если потребуется то и его зависимостей.Как это сделать - руководств в сети и на opennet полно.