Компиляция Wine в Ubuntu 11.10
Внимание: Все результаты ваших экспериментов, с компиляцией программного обеспечения и возможно причененный ущерб вашей ОС, ложатся на вашу ответственность. Автор статьи не отвечает за последствия вашего 'рукоблудия' совместно с мозговой активностью ;)
Что такое компиляция программы под вашу ОС? Когда вы подбираете себе что нибудь из гардероба в магазине, вы ориентируетесь на такие параметры как размер, полнота, рост (в большинстве случаев только на размер), но все эти параметры не учитывают отличительных особенностей вашего физического телосложения и два, совершенно одинаковых костюма, подобранных таким образом, будут по разному «сидеть» на двух людях с подходящими, при выборе, параметрами. Другое дело, если вы приобретаете костюм сшитый на заказ, в этом случае одежда будет сидеть на вас идеально (ну зависит конечно от мастерства портного). Вот и мы постараемся стать портными и «сшить» Wine именно для нашей конфигурации системы, а не устанавливать его из бинарных пакетов, сделанных для всех - учитывающих только версию ОС(10.04 10.10 11.04) и архитектуру(i386,amd64). Ваш Wine, собранный из исходных кодов (сырцов), будет полностью соответствовать только вашей конфигурации системы и ни какой другой в мире. Преимущество такого подхода очевидны: программы скомпилированные собственноручно под конкретно ваше ядро работают лучше, чем установленные из репозиториев. Компиляцией Wine, на примере установки ее в Ubuntu 11.10, мы сейчас и займемся.
1. Для начала давайте установим все необходимое для сборки пакетов из исходных текстов.
1.1 Если вам требуется выполнять компиляцию из исходного кода, вам сначала нужно установить компилятор и все другие пакеты, необходимые для сборки программ из исходных текстов. В Ubuntu это делается просто: достаточно открыть менеджер пакетов (Центр приложения Ubuntu), которым вы предпочитаете пользоваться, а затем найти и установить пакеты build-essential, automake, autoconf, libtool, pkg-config, libcur4-openssl-dev, intltool, libxml2-dev, libglib2.0-dev. Будут получены и установлены компилятор GNU C (gcc), make, g++, а также ряд других программ, которые вам потребуются.
Пример:
Или ввести в терминале команду: sudo apt-get install build-essential automake autoconf libtool pkg-config libcur4-openssl-dev intltool libxml2-dev libglib2.0-dev
1.2 Установим утилиту Checkinstall, она умеет создавать инсталляционные пакеты deb (Тип пакета (DEB или RPM) checkinstall определяет сам.) из исходных кодов программ. Откройте «Центр приложений Ubuntu», в строке поиска введите checkinstall, выберете и установите эту утилиту.
Установить можно через консоль (Ctrl+Alt+T): sudo apt-get install checkinstall
1.3 Ставим пакет auto-apt. Устанавливается также через «Центр приложений Ubuntu» или в Терминале командой:
sudo apt-get install auto-apt
sudo auto-apt update
sudo auto-apt updatedb && sudo auto-apt update-local
Этот пакет облегчает поиск зависимостей и делает установку из исходников легче.
1.4 Устанавливаем зависимости для пересбоки пакета Wine:
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get build-dep wine1.3
2. Подготовка.
2.1 Скачиваем исходные коды Wine для вашего дистрибутива: http://www.winehq.org/ допустим wine-1.3.36.tar.bz2
2.2 Создайте в удобном для вас месте паку, например в домашней директории пользователя я создал папку Source: home/name/Source (вы можете обозвать ее как угодно).
Для удобства перенесем скачанный архив в эту папку
2.3 Распаковываем архив wine-1.3.36.tar.bz2 в нашу папку, для этого щелкните по нему правой кнопкой мышки и выберете «Открыть с помощью Менеджер архивов», в окне этого менеджера, на верхней панели щелкаете «Распаковать» и указываете созданную папку source, снова нажимаете распаковать. Исходные коды распакованы, в паке source появилась папка wine-1.3.36 (номер будет зависеть от скаченной вами версии).
Можно распокавать в Терминале:
сначала командой $ cd ~/Source мы переходим в папку с архивом;
командой $ tar xvf wine-1.3.36.tar.bz2 распаковываем архив.
2.4* (Есть совет на просторах интернета) Находим в папке wine-1.3.36 папку tools, в ней ищем файл wineinstall и открываем его в текстовом редакторе (ПКМ на файле и выбираем текстовый редактор). Ищем параметр CONFARGS='' '' и прописываем следующую срочку: CONFARGS=''--with-opengl --with-alsa --disable-debug --disable-trace''. Этим мы включили поддержку OpenLG и Alsa для игр. Мой эксперимент с параметром —with-alsa привел к краху звуковой системы ОС, поэтому во второй попытке пункт with-alsa был исключен.
можете выполнить этот пункт, а можете пропустить, я разницы не заметил (за исключением первого печального опыта). Если есть желание то все параметры CONFARGS можете посмотреть набрав в терминале: ./configure -h
3 Конфигурация.
Открываем Терминал (Ctrl+Alt+T), переходим в распакованный каталог, в моем случае командой: cd ~/Source/wine-1.3.36. Получаем зависимости, запускаем процесс конфигурации: sudo auto-apt -y run ./configure
(auto-apt команда автоматической установки всех зависимостей). Эта команда не вносит никаких изменений в ОС и тем самым не сможет никак повредить ее, она проверит наличие необходимых файлов и библиотек для нормального функционирование после установки.
4 Сборка программы.
make depend - создание зависимостей.
make - компиляция.
Для сборки достаточно привилегий обычного пользователя (если использовалось sudo ./configure — то sudo make). Этим мы запустили саму компиляцию, процесс не быстрый, потерпите. Для обладателей многоядерных процессоров сборку можно ускорить добавив флажок -jn (где n — количество ядер).
Пример для 2-х ядерника:
5 Установка.
Далее следует этап установки собранной программы в систему: Команды выполняются с правами суперпользователя (sudo).
5.1 Можно командой sudo make install, однако при этом wine установится в обход «Менеджер пакетов», т. е. ОС не будет оповещена об установке в нее программы (хотя сама программа будет работать) и удалить ее можно будет только командой sudo make unistall (команда выполняется в директории папки с исходниками home/name/Source/wine-1.3.36).
5.2 Можно командой sudo checkinstall, с помощью утилиты Checkinstall, которую мы установили ранее. В этом случае будет построен инсталляционный пакет и установка его в систему с фиксацией в «Менеджер пакетов». Удалять в этом случае программу, при необходимости, можно как обычно через Synaptic. Недостаток такой установки - checkinstall не все исходники понимает.
Набираем sudo checkinstall Далее отвечаем на несколько вопросов. По умолчанию все ответы на задаваемые вопросы подходят в большинстве случаев, поэтому везде нажимаем Enter. Чтобы просто собрать deb пакет, без установки в систему, применяем команду: sudo checkinstall -D --install=no и в директории с исходными текстами появится файл wine-1.3.36.deb, который можно установить штатными средствами. (Примечание: данный deb пакет можно установить только в вашу систему).
в результате в папке Wine-1.3.36 появится пакет wine_1.3.36-1_amd64.deb, который можно установить к примеру командой: sudo dpkg -i wine_1.3.36-1_amd64.deb:
Предупреждение: После установки скомпилированного Wine обновление до новых версий станет невозможно!
Смотрите приложение Сборка 32-bit Wine на 64-bit системе Ubuntu 12.04