= Сообщение: 8102 из 10756 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 16 Oct 18 22:12:01 Кому : Victor Sudakov 16 Oct 18 22:12:01 Тема : Re: 32-битные библиотеки на 64-битной системе FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+e41a95c4 На : area://RU.UNIX.BSD?msgid=2:5005/49+5bc54fc9 = Кодировка сообщения определена как: IBM866 ================================= Ответ: area://RU.UNIX.BSD?msgid=2:5005/49+5bc7609b ============================================================================== 16 окт. 2018, вторник, в 07:41 NOVT, Victor Sudakov написал(а):
VS> Есть ли штатный способ запустить на 11.2-RELEASE/amd64 бинарник, собранный на VS> старой 32-битной версии и требующий некоторых 32-битных библиотек, стоявших на VS> старой системе из портов? Кроме как скопировать эти библиотеки вручную со старой VS> системы и положить в /usr/lib32/compat/ ?
Есть штатный метод и мы с тобой совсем недавно его обсуждали: options COMPAT_FREEBSD10 в ядре (есть в GENERIC) и библиотеки из misc/compat10x, притом что compat10x-amd64 ставит не только 64-битные библиотеки в lib, но и 32-битные в lib32.
VS> И почему интересно ldconfig32_paths не включает по умолчанию какой-нибудь VS> /usr/local/lib32/compat для "левого" софта?
Потому что у нас давно уже не обязательно редактировать rc.conf для пополнения ldconfig32_paths, а есть каталоги /usr/local/libdata/ldconfig и /usr/local/libdata/ldconfig32 и любой порт при инсталляции может положить туда собственный отдельный файл с путём до каталога со своими библиотеками внутри (типа /usr/local/lib32/compat) и service ldconfig имеет в /etc/defaults/rc.conf множество настроек ldconfig_* чтобы знать, что /usr/local/libdata/ldconfig* нужно просматривать.
И это касается не только старых библиотек, но и обычных пакетов, к примеру mysql ставит /usr/local/libdata/ldconfig/mysql57-client и /usr/local/libdata/ldconfig/mysql57-server, потому что ставит свои библиотеки в отдельные каталоги типа /usr/local/lib/mysql/plugin.
llvm39 вообще ставит в /usr/local/llvm39/lib и тоже пишет этот путь в /usr/local/libdata/ldconfig/llvm39
VS> Можно ли вообще как-то поставить на 64-битную систему несколько 32-битных VS> портов/пакетов, например 32-битный libiconv? Или опять же вручную копировать из VS> соседней 32-битной системы? VS> В 64-битном линухе можно принудительно поставить 32-битный пакет "apt-get VS> install foo:i386" и он установится. А у нас как?