forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 16.10.2018, 06:52
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию 32-битные библиотеки на 64-битной системе

Victor Sudakov написал(а) к All в Oct 18 09:41:12 по местному времени:

Dear All,

Есть ли штатный способ запустить на 11.2-RELEASE/amd64 бинарник, собранный на старой 32-битной версии и требующий некоторых 32-битных библиотек, стоявших на старой системе из портов? Кроме как скопировать эти библиотеки вручную со старой системы и положить в /usr/lib32/compat/ ?

И почему интересно ldconfig32_paths не включает по умолчанию какой-нибудь /usr/local/lib32/compat для "левого" софта?

Можно ли вообще как-то поставить на 64-битную систему несколько 32-битных портов/пакетов, например 32-битный libiconv? Или опять же вручную копировать из соседней 32-битной системы?

В 64-битном линухе можно принудительно поставить 32-битный пакет "apt-get install foo:i386" и он установится. А у нас как?

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #2  
Старый 16.10.2018, 18:34
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: 32-битные библиотеки на 64-битной системе

Eugene Grosbein написал(а) к Victor Sudakov в Oct 18 22:12:01 по местному времени:

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" и он установится. А у нас как?

Из man pkg.conf:

ENVIRONMENT
An environment variable with the same name as the option in the
configuration file always overrides the value of an option set in the
file.

Оттуда же:

ABI: string The ABI of the package you want to install.

То есть, env ABI=FreeBSD:10:i386 pkg-static install rar
поставит 32-битный пакет rar от FreeBSD 10, только предварительно
желательно сделать pkg lock pkg, а иначе оно и сам pkg захочет
поменять на 32-битную версию. Косячок-с.

Eugene
--
Научить не кланяться авторитетам, а исследовать их и сравнивать их поучения
с жизнью. Научить настороженно относиться к опыту бывалых людей, потому что
жизнь меняется необычайно быстро.
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #3  
Старый 17.10.2018, 07:42
Dmitriy Smirnov
Guest
 
Сообщений: n/a
По умолчанию 32-битные библиотеки на 64-битной системе

Dmitriy Smirnov написал(а) к Victor Sudakov в Oct 18 08:30:52 по местному времени:

hi, Victor!

16 Oct 18 09:41, Victor Sudakov wrote to All:

VS> Есть ли штатный способ запустить на 11.2-RELEASE/amd64 бинарник,
VS> собранный на старой 32-битной версии и требующий некоторых 32-битных
VS> библиотек, стоявших на старой системе из портов? Кроме как скопировать
VS> эти библиотеки вручную со старой системы и положить в
VS> /usr/lib32/compat/ ?

у меня на ориджине/amd64 с compat9x, до этого на десятке/amd64,
крутятся бинарники собранные на девятке/i386, никаких танцев не требовалось.

wbr, Dmitriy.
--- GoldED+/BSD 1.1.5
Ответить с цитированием
  #4  
Старый 17.10.2018, 20:42
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию 32-битные библиотеки на 64-битной системе

Victor Sudakov написал(а) к eugen в Oct 18 23:14:44 по местному времени:

Dear eugen,

16 Oct 18 22:12, Eugene Grosbein wrote to me:

VS>> Есть ли штатный способ запустить на 11.2-RELEASE/amd64 бинарник,
VS>> собранный на старой 32-битной версии и требующий некоторых
VS>> 32-битных библиотек, стоявших на старой системе из портов? Кроме
VS>> как скопировать эти библиотеки вручную со старой системы и
VS>> положить в /usr/lib32/compat/ ?

EG> Есть штатный метод и мы с тобой совсем недавно его обсуждали:
EG> options COMPAT_FREEBSD10 в ядре (есть в GENERIC) и библиотеки
EG> из misc/compat10x, притом что compat10x-amd64 ставит не только
EG> 64-битные библиотеки в lib, но и 32-битные в lib32.

Так это в misc/compat* пожалуй библиотеки от старой base system. А я о портовых.


VS>> И почему интересно ldconfig32_paths не включает по умолчанию
VS>> какой-нибудь /usr/local/lib32/compat для "левого" софта?

EG> Потому что у нас давно уже не обязательно редактировать rc.conf
EG> для пополнения ldconfig32_paths, а есть каталоги
EG> /usr/local/libdata/ldconfig и /usr/local/libdata/ldconfig32 и любой
EG> порт при инсталляции может положить туда собственный отдельный файл с
EG> путём до каталога со своими библиотеками внутри (типа
EG> /usr/local/lib32/compat) и service ldconfig имеет в
EG> /etc/defaults/rc.conf множество настроек ldconfig_* чтобы знать, что
EG> /usr/local/libdata/ldconfig* нужно просматривать.

Буду знать.

VS>> Можно ли вообще как-то поставить на 64-битную систему несколько
VS>> 32-битных портов/пакетов, например 32-битный libiconv? Или опять
VS>> же вручную копировать из соседней 32-битной системы? В 64-битном
VS>> линухе можно принудительно поставить 32-битный пакет "apt-get
VS>> install foo:i386" и он установится. А у нас как?

EG> Из man pkg.conf:

EG> ENVIRONMENT
EG> An environment variable with the same name as the option in the
EG> configuration file always overrides the value of an option set in
EG> the
EG> file.

EG> Оттуда же:

EG> ABI: string The ABI of the package you want to install.

EG> То есть, env ABI=FreeBSD:10:i386 pkg-static install rar
EG> поставит 32-битный пакет rar от FreeBSD 10,

Так это он мне пожалуй его поставит вместо штатного 64-битного. А мне бы как-то положить старые либы для legacy софта, а не переписывать поверх новых.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #5  
Старый 17.10.2018, 23:13
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: 32-битные библиотеки на 64-битной системе

Eugene Grosbein написал(а) к Victor Sudakov в Oct 18 02:59:49 по местному времени:

17 окт. 2018, среда, в 21:14 NOVT, Victor Sudakov написал(а):

EG>> То есть, env ABI=FreeBSD:10:i386 pkg-static install rar
EG>> поставит 32-битный пакет rar от FreeBSD 10,
VS> Так это он мне пожалуй его поставит вместо штатного 64-битного.
VS> А мне бы как-то положить старые либы для legacy софта,
VS> а не переписывать поверх новых.

А, ну тогда не знаю. Может быть, вручную:

# env ABI=FreeBSD:10:i386 pkg search -x ^rar
pkg: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended
rar-5.6.1,3 File archiver (binary port)
rarian-0.8.1_4 OMF help system based on the Freedesktop specification
# env ABI=FreeBSD:10:i386 pkg fetch -y rar-5.6.1,3
pkg: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following packages will be fetched:

New packages to be FETCНED:
rar-5.6.1,3 (304 KiB: 100.00% of the 304 KiB to download)

Number of packages to be fetched: 1

304 KiB to be downloaded.
Fetching rar-5.6.1,3.txz: 100% 304 KiB 311.4kB/s 00:01

# tar -C /usr/local/lib32/compat --strip-components 4 -xvf /var/cache/pkg/rar-5.6.1,3.txz /usr/local/lib

Или задай вопрос в листах. Если сильно мотивирован,
может быть запатчишь pkg :-)

Eugene
--
Что делать?! Мир стоит на воровстве!..
Воруют в Самарканде и в Хиве,
В Ширазе, в Тегеране и в Стамбуле
И даже - страшно вымолвить - в Москве!..
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #6  
Старый 19.10.2018, 07:13
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию 32-битные библиотеки на 64-битной системе

Victor Sudakov написал(а) к eugen в Oct 18 09:52:38 по местному времени:

Dear eugen,

18 Oct 18 02:59, Eugene Grosbein wrote to me:

EG>>> То есть, env ABI=FreeBSD:10:i386 pkg-static install rar
EG>>> поставит 32-битный пакет rar от FreeBSD 10,
VS>> Так это он мне пожалуй его поставит вместо штатного 64-битного.
VS>> А мне бы как-то положить старые либы для legacy софта,
VS>> а не переписывать поверх новых.

EG> А, ну тогда не знаю. Может быть, вручную:

Ну нафиг, не понравилось.

EG> Или задай вопрос в листах. Если сильно мотивирован,
EG> может быть запатчишь pkg :-)

Нужно настолько редко, что проще в jail. Вот только где добыть старых пакетов. Или сделать в этом jail чекаут старых портов из svn и собирать-собирать?

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #7  
Старый 19.10.2018, 13:13
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: 32-битные библиотеки на 64-битной системе

Eugene Grosbein написал(а) к Victor Sudakov в Oct 18 16:52:35 по местному времени:

19 окт. 2018, пятница, в 07:52 NOVT, Victor Sudakov написал(а):

VS> Нужно настолько редко, что проще в jail. Вот только где добыть старых пакетов.

Я же показал: env ABI=FreeBSD:10:i386 pkg search -x ^rar
И потом pkg fetch.

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
  #8  
Старый 19.10.2018, 14:22
Victor Sudakov
Guest
 
Сообщений: n/a
По умолчанию 32-битные библиотеки на 64-битной системе

Victor Sudakov написал(а) к eugen в Oct 18 17:05:04 по местному времени:

Dear eugen,

19 Oct 18 16:52, Eugene Grosbein wrote to me:

VS>> Нужно настолько редко, что проще в jail. Вот только где добыть
VS>> старых пакетов.

EG> Я же показал: env ABI=FreeBSD:10:i386 pkg search -x ^rar
EG> И потом pkg fetch.

Их кто-то хранит, что ли? Тем более мне бы от 9-ки.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
Ответить с цитированием
  #9  
Старый 19.10.2018, 15:43
Alex Korchmar
Guest
 
Сообщений: n/a
По умолчанию Re: 32-битные библиотеки на 64-битной системе

Alex Korchmar написал(а) к Victor Sudakov в Oct 18 14:20:15 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:

> Их кто-то хранит, что ли? Тем более мне бы от 9-ки.
десяточные -разумеется, она ж поддерживается. С девяткой тебя ждет много
интересных приключений.
Включая и несобираемость на ней всех современных портов.

> Alex

--- ifmail v.2.15dev5.4
Ответить с цитированием
  #10  
Старый 19.10.2018, 17:23
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: 32-битные библиотеки на 64-битной системе

Eugene Grosbein написал(а) к Victor Sudakov в Oct 18 21:00:02 по местному времени:

19 окт. 2018, пятница, в 15:05 NOVT, Victor Sudakov написал(а):

VS>>> Нужно настолько редко, что проще в jail. Вот только где добыть
VS>>> старых пакетов.
EG>> Я же показал: env ABI=FreeBSD:10:i386 pkg search -x ^rar
EG>> И потом pkg fetch.
VS> Их кто-то хранит, что ли?

Да, репозиторий.

VS> Тем более мне бы от 9-ки.

От девятки там тоже есть, хотя уже и не обновляется, так как EoL:

http://pkg.freebsd.org/

Eugene
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:58. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot