Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как собрать deb i386 на amd64?  (Прочитано 3064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
Как собрать deb i386 на amd64?
« : 31 Октября 2016, 12:51:53 »
Погуглил-пояндексил, не нашел/осилил  :-[
Поделитесь рецептом.
Собираю так
dpkg-buildpackage -rfakerootВсе собирается на ура, как собрать для i386?

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1742
    • Просмотр профиля
Re: Как собрать deb i386 на amd64?
« Ответ #1 : 31 Октября 2016, 14:01:05 »
sudo pbuilder --create --architecture i386

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
Re: Как собрать deb i386 на amd64?
« Ответ #2 : 31 Октября 2016, 17:21:26 »
sudo pbuilder --create --architecture i386
Пошуршало. Но после сборки i386 не появился.
Может собирать нужно по другому?

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1742
    • Просмотр профиля
Re: Как собрать deb i386 на amd64?
« Ответ #3 : 31 Октября 2016, 17:42:05 »
It is possible to use fakechroot instead of being root to run pbuilder; however, several things make this impractical. fakechroot overrides library loads and tries to override default libc functions when providing the functionality of virtual chroot. However, some binaries do no use libc to function, or override the overriding provided by fakechroot. One example is ldd. Inside fakechroot, ldd will check the library dependency outside of the chroot, which is not the expected behavior.

To work around the problem, debootstrap has a --variant fakechroot option. Use that, so that ldd and ldconfig are overridden.

Make sure you have set your LD_PRELOAD path correctly, as described in the fakechroot manpage.

Manual

amd64 architectures are capable of running binaries in i386 mode. It is possible to use pbuilder to run packages, using linux32 and debootstrap --arch option. Specifically, a command-line option like the following will work.
pbuilder create --distribution sid --debootstrapopts --arch --debootstrapopts i386 \
  --basetgz /var/cache/pbuilder/base-i386.tgz --mirror http://ftp.jp.debian.org/debian
linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz
« Последнее редактирование: 31 Октября 2016, 17:46:15 от bezbo »

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.