Эта статья является приложением для двух других: Компиляция 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 build-dep wine
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, которы можно будет применить в основной операционной системе.