On 17.04.2015 11:14, Eugene Grosbein wrote:
> On 17.04.2015 13:40, Konstantin Stefanov wrote:
>> А есть ли для FreeBSD 32-битные версии пакетов для 64-битной системы?
>>
>> У меня есть 32-битный бинарник, который я хочу запустить на 64-битной
>> системе, и которому нужны библиотеки типа pcre, iconv и еще что-то в том
>> духе.
>>
>> Соответственно, нужны эти билиотеки в 32-битной версии. Можно, конечно,
>> взять пакет от 32-битной версии и поставить его, или обмануть pkg типа
>>
>> UNAME_p=x86 pkg install pcre
>>
>> Но в этом случае библиотека встанет в /usr/lib, а бывшая там раньше
>> 64-битная библиотека затрется, и не будут работать уже 64-битные бинарники.
>>
>> Можно как-то иметь сразу обе версии (32 и 64 бита) пакетных библиотек?
> 
> Можно. Погляди, например, как это делает /usr/ports/misc/compat9x -
> устанавливает библиотеки в /usr/local/lib32/compat и прописывает этот
> путь в виде одной строчки в новом файле в каталоге 
> /usr/local/libdata/ldconfig32 -
> оттуда при загрузке система узнает название про каталог 
> /usr/local/lib32/compat
> и запустит ldconfig -32 -m /usr/local/lib32/compat
> 
> Эту команду нужно вручную выполнить после распаковки библиотек,
> чтобы не ребутиться.
Как это сделать руками - понятно, я примерно так и сделал. Вопрос в том,
можно ли для этого воспользоваться стандартной инфраструктурой
пакетов/портов. Т.е получить пакет, который сам это все сделает. Я не
очень представляю, что сказать тому же порту devel/pcre, чтобы он на
amd64 собрал версию для x86 и положил библиотеки не в lib, а в lib32.

-- 
Константин Стефанов

И если жиже стала снежная гладь, лыжи пора менять.

Ответить