LINUX.ORG.RU

Запуск Wine, собранного из исходников

 ,


0

2

Всегда мечтал иметь возможность собирать и использовать одновременно несколько версий Wine, но без PlayOnLinux. Всю сборку осуществлял на серваке. Собрал из исходников версию, поддерживающую запуск и 64-разрядных программ и 32-разрядных. Собирал по этому мануалу. Собрал сначала 64-разрядную версию, потом 32-разрядную. В 32-разрядной использовал префикс для установки. Полностью команда выглядела так:

../../../wine-source/configure --prefix=/usr/local/Wine/install/1.7.49 --with-wine64=../wine64-build
После завершения работы make сделал make install, после чего перенес все содержимое директории /usr/local/Wine/install/1.7.49 на настольный комп. Пытаюсь запустить с помощью него игру, получаю такую ошибку.
wine client error:0: version mismatch 489/485.
Your wine binary was not upgraded correctly,
or you have an older one somewhere in your PATH.
Or maybe the wrong wineserver is still running?
Искал причины, не нашел. На официальном форуме Wine советуют проверить, может работает wineserver от новой версии (уже проверял - не работает) и удалить системную версию Wine. А как же тогда PlayOnLinux работает при установленном системном Wine? Специально скачал с сайта PlayOnLinux их сборку, разархивировал в простую директорию, попробовал запустить игру с помощью нее - она работает, запускается. Что я делаю не так?
P.S. А вообще я скрипт написал для автоматической сборки, может кому пригодится. Достаточно лишь указать нужную версию, пример: «bash build_wine.sh 1.7.51»
Но мне бы разобраться, почему сборка не работает.

★★★★★

Последнее исправление: Rinaldus (всего исправлений: 1)

Сам не пробовал, но чисто такая идея. Может как-то можно через chroot извернутся? И каждую новую версию wine запускать в свой chroot.

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

А как я из chroot буду запускать игры, находящиеся в основной системе? Она ведь полностью изолированная.
Как PlayOnLinux делает portable-сборки Wine, запускающиеся на любых системах без всяких извращений, а у меня не получается? :(

Rinaldus ★★★★★
() автор топика
Ответ на: комментарий от Rinaldus

Я не у компа счас, сам проверить не могу, но...
PoL запускает свой вайн со специфическим набором переменных, потому-то там всё и работает.

Запусти что-нибудь в вайне с помощью PoL, сделай cat /proc/'pidof wine'/environ и посмотри, что там в переменных окружения.

NeverLoved ★★★★★
()
Ответ на: комментарий от NeverLoved

Да в том-то и дело, что я скачал просто у них сборку Wine, переименовал архив в tar.bz2, распаковал его в домашнюю папку и запустил его «из коробки». Какие-либо переменные дополнительно настраивать не потребовалось. Даже сама программа PlayOnLinux не потребовалась.

Rinaldus ★★★★★
() автор топика
Ответ на: комментарий от WARNING

Получилось!

Получилось! Оказывается, нужно было и для каталога wine64 тоже прописывать префикс и делать make install, а я этого не делал. В результате устанавливалась в префикс не полный Wine, а только маленький кусочек. Не сделал потому что этого не было написано в официальном руководстве, нашел упоминание об этом только в одном богом забытом блоге.
Вот исправленная, работающая как надо версия моего скрипта. Пользуйтесь, если кому пригодится. Завтра я сделаю в нем поддержку сборки из git.

Rinaldus ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.