Сборка 32-bit Wine на 64-bit системе Ubuntu 12.04

Материал из support.qbpro.ru

Эта статья является приложением для двух других: Компиляция Wine Как патчить Wine

 Компиляция Wine в среде Ubuntu не является таким уж необходимым занятием, Ubuntu - пакетная ОС и Wine лучше устанавливать из бинарных сборок, будь то стабильная версия или передовая - бета. Однако может наступить необходимость применения специализированной версии Wine или его пропатчивания для какой нибудь "ретивой" программы и игры, вот здесь нам и понадобиться компиляция и если в предыдущих версиях Ubuntu (8, 9, 10) с этим проблем не было, то на данный момент, к примеру на 64-bit Ubuntu 12.04, скомпилировать 32-bit Wine затруднительно, возникают ошибки типа:
"configure: error: X 32-bit development files not found. Wine will be builtwithout X support, which probably isn't what you want. You will needto install  32-bit development packages of Xlib/Xfree86 at the very least.Use the --without-x option if you really want this".
Посмотрим как это можно обойти, создав изолированную, от остальной части ОС, область с базовой установкой 32-битной ОС Ubuntu и компиляцией Wine из под него.

1. Нужно установить пакеты dchroot и debootstrap, и создать изолированную директорию /var/chroot:

sudo apt-get install debootstrap
sudo apt-get install dchroot
sudo mkdir /var/chroot

Примечание:

/var -  Это каталог для часто меняющихся данных.

2. Добавить в /etc/schroot/schroot.conf запись, изменив вашу версию Ubuntu и профиль:

[precise]
description=Ubuntu Precise
directory=/var/chroot
users=your_username
groups=sbuild
root-groups=root

или

[lucid]
description=Ubuntu Lucid
directory=/var/chroot
users=your_username
groups=sbuild
root-groups=root

3. Создадим базовую установку 32-битной Ubuntu 12.04 или 10.04 в изолированной среде:

sudo debootstrap --variant=buildd --arch i386 precise /var/chroot/ http://ubuntu.cs.utah.edu/ubuntu/

или

sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/ http://mirror.url.com/ubuntu/

Примечание

i386 - архитектура ОС для x86;
amd64 - для архитектуры x86-64;
precise (lucid) - кодовое имя нужного реализа Ubuntu;
/var/chroot/ - место установки.

Это может занять какое то время, все таки устанавливается базовая версия Ubuntu, но не волнуйтесь, папка /chroot у меня заняла ~281Mb.

4. Для работы с репозиториями выполним:

sudo cp /etc/apt/sources.list /var/chroot/etc/apt/

5. Перейдем в созданную "карантинную" область:

sudo chroot /var/chroot

6. Установим, в этой директории, зависимости для сборки Wine:

# apt-get update
# apt-get install libfontconfig-dev libfreetype6-dev libglu-dev libgphoto2-2-dev libgsm1-dev libice-dev libjpeg-dev libldap-dev libmpg123-dev libncurses5-dev libopenal-dev libpng-dev libsm-dev libssl-dev libusb-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxml2-dev libxrandr-dev libxrender-dev libxslt-dev libxt-dev libxxf86vm-dev oss4-dev
# apt-get build-dep wine

7. Для сборки пакетов скомпилированного Wine установите утилиту Checkinstall:

# apt-get install checkinstall

8. Копируем, к примеру в папку /var/chroot/usr/source, наши исходники и выполняем компиляцию.

Пример. Компиляции Wine-1.3.24 с патчем xlivelesswine.patch, для игры Batman Arkham Asylum, где папка с исходниками и патчем находится в директории /var/chroot /usr/source/wine-1.3.24:

$ sudo chroot /var/chroot
# cd /usr/source/wine-1.3.24
# patch -p1 < xlivelesswine.patch
# autoconf
# ./configure --prefix=/usr
# make -j4 (-jn - для многоядерных процессоров, где n-кол. ядер)
# checkinstall -D --install=no

Будет собран Deb-пакет с пропатченным Wine, которы можно будет применить в основной операционной системе.

взято тут...