debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: debian 9 сборка wine из исходников  (Прочитано 1986 раз)

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

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
debian 9 сборка wine из исходников
« : 02 Декабрь 2017, 22:44:22 »
Добрый вечер! Возникла необходимость пропатчить исходник wine 2.20 для игры Корсары Возвращение легенды

Сам патч состоит из единственной строки:

https://bugs.winehq.org/attachment.cgi?id=57957&action=diff#a/dlls/wined3d/resource.c_sec1

Теперь вопрос, как скомпилировать 32 битный wine на 64 битной системе?

основная моя проблема в следующем:

./configure --prefix=$HOME/kish/wine-test --with-x --with-xattr

Цитировать
checking for -lfreetype... not found
configure: error: FreeType 32-bit development files not found. Fonts will not be built.
Use the --without-freetype option if you really want this.

Далее без фритайпа:

./configure --prefix=$HOME/kish/wine-test --with-x --with-xattr --without-freetype

получаю:

Цитировать
configure: WARNING: libxrender 32-bit development files not found, XRender won't be supported.

configure: WARNING: No OpenGL library found on this system.
OpenGL and Direct3D won't be supported.

configure: WARNING: libxml2 32-bit development files not found (or too old), XML won't be supported.

configure: WARNING: libxslt 32-bit development files not found, xslt won't be supported.

configure: WARNING: libgnutls 32-bit development files not found, no schannel support.

configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.

configure: WARNING: libpng 32-bit development files not found, PNG won't be supported.

configure: WARNING: No sound system was found. Windows applications will be silent.

configure: Finished.  Do 'make' to compile Wine.

Synaptic показывает, что libc6-dev-i386 установлена, но по факту в usr/lib32 этой библиотеки я не вижу, есть папка, а в ней чейндж логи, и всё.

Как правильно установить все необходимые зависимости, что бы собрать wine?



 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #1 : 03 Декабрь 2017, 14:20:06 »
Вывод об ошибках из за отсутствия в системе  заголовочных пакетов -dev упомянутых в выводе библиотек:i386 и это только начало.
wine из исходников на  64 битной системе с мультиархитектурой собирается сразу для i386 и amd64 и делается это всё не ай бы как.
Дома у меня записаны ( на бумажном носителе) все команды
Наверное завтра у меня будет время что бы попробовать разобраться в вопросе, только киньте ссылочку на ресурс где вы узнали про патч и всё прочее.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #2 : 03 Декабрь 2017, 14:40:46 »
Цитировать
Вывод об ошибках из за отсутствия в системе  заголовочных пакетов -dev упомянутых в выводе библиотек:i386 и это только начало.

По-порядку, вот мой сурс лист:

Цитировать
# Stretch
 
deb http://security.debian.org/ stretch/updates main
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ stretch/updates main
 
deb http://mirror.yandex.ru/debian stretch main
deb-src http://mirror.yandex.ru/debian stretch main
 
deb http://mirror.yandex.ru/debian stretch-updates main
deb-src http://mirror.yandex.ru/debian stretch-updates main
 
deb http://mirror.yandex.ru/debian/ stretch-proposed-updates main non-free contrib
deb-src http://mirror.yandex.ru/debian/ stretch-proposed-updates main non-free contrib
 
# Backports
#deb http://mirror.yandex.ru/debian stretch-backports main contrib non-free
#deb-src http://mirror.yandex.ru/debian stretch-backports main contrib non-free
deb https://dl.winehq.org/wine-builds/debian/ stretch main

deb http://www.deb-multimedia.org stretch main non-free
deb http://www.deb-multimedia.org stretch-backports main

Ну, например, тут я был: https://wiki.debian.org/Multiarch/HOWTO
Далее:
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
Цитировать
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Уже установлен пакет libgcc1:i386 самой новой версии (1:6.3.0-18).
libgcc1:i386 установлен вручную.
Уже установлен пакет libstdc++6:i386 самой новой версии (6.3.0-18).
libstdc++6:i386 установлен вручную.
Уже установлен пакет libncurses5:i386 самой новой версии (6.0+20161126-1+deb9u1).
libncurses5:i386 установлен вручную.
Уже установлен пакет zlib1g:i386 самой новой версии (1:1.2.8.dfsg-5).
zlib1g:i386 установлен вручную.
Следующие пакеты устанавливались автоматически и больше не требуются:
  libass5 libavresample3 libbdplus0 libgles1-mesa liblivemedia57 libopenmpt-modplug1 libwine-development libwine-development:i386
  libwxbase3.0-0v5 libwxgtk3.0-0v5 libx264-148 libx265-95 linux-headers-4.12.0-0.bpo.1-amd64 linux-headers-4.12.0-0.bpo.1-common
  linux-image-4.9.0-3-amd64 python-wxgtk3.0 python-wxversion wine32-development:i386 wine64-development
Для их удаления используйте «sudo apt autoremove».
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 60 пакетов не обновлено.

Библиотеки установлены вручную, скорее всего, потому что я их устанавливал через Synaptic.

По поводу патча к Корсарам, во всех аддонах 3 части проблема с выходом в море одинаковая, как я уже понял, и решается заменой одной строки:

https://bugs.winehq.org/attachment.cgi?id=57957&action=diff#a/dlls/wined3d/resource.c_sec1

С рутрекера мне дали собранный wine 2.21, естественно без перекомпиляции, как вывод мерцающая текстура моря, и до самого корабля я пока даже не добрался:

Цитировать
wine-2.21 (Staging)
csmt: on
##################################
game: Корсары: Возвращение легенды
version: 1.2.3
##################################
home: /home/kish/Kopcap-wine/home

Wine cannot find the ncurses library (libncursesw.so.6).

Впринципе, проблемы начинаются с фактического отсутствия 32 битных библиотек в папке /usr/lib32... Я уже не одну неделю пытаюсь понять, как справиться с этой проблемой, буду рад практическим советам опытных людей.

И еще, нашел на http://portwine-linux.ru/steam-linux/ :

Цитировать
Решение этой проблемы(ошибка со скрина при старте) заняло у меня 2 часа((, хотя все оказалось до банального просто. Пакет lib32-nvidia-libgl был объединен с еще кучей пакетов и добавлен в lib32-nvidia-utils, тк что... просто нужно установить lib32-nvidia-utils, мда, а все гайды в интернете по решению этой проблемы устарели.

Информация, действительно, очень устарела, но какой нужно репозиторий добавить, что бы подтянуть этот пакет со всеми зависимостями?


« Последнее редактирование: 03 Декабрь 2017, 15:00:28 от kish »
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #3 : 03 Декабрь 2017, 17:01:55 »
Значит смотрите одна из ваших проблем это то что вы используете свободный драйвер для nvidia для игрушек нужен проприаретарный.

в sources.list довести строку до состояния
deb http://mirror.yandex.ru/debian stretch main contrib non-freeхотя я не люблю зеркала яндекса, но это ваше дело.
sudo apt update
sudo apt install nvidia-kernel-dkms nvidia-xconfig
sudo nvidia-xconfig
sudo-reboot
Это в любом случае, далее надо определиться что мы хотим лепить ту хрень с рутрекера либо собирать wine с патчем из исходников непосредственно на вашей машине либо собирать патченный wine в пакеты.
С последним вариантом ещё надо посмтреть.
Я конечно не ас в запуске игр под wine но прикрутить готовый префикс с установленной программой с другой машины даже с другой системой для меня пока тёмный лес.
Поясню сразу что при сборке wine на вашей машине все необходимые библиотеки попадут туда в процессе установки сборочных  зависимостей, большая же часть сборочных зависимостей останется в системе в виде мусора, который удалить реально но необходимо разобраться что нужно а что нет.
Можно конечно попробовать пропатчить wine-2.21 (Staging) но не уверен что они выкладывают свои исходники.
В любом случае качать пакеты с торрентов совсем плохое решение по многим причинам.
P.S. я дважды собирал последний на тот момент wine из исходников на centos 7. Думаю в debian это не проблема.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #4 : 03 Декабрь 2017, 19:09:00 »
ferum
Я на стадии изучения основ, почему не любите яндекс зеркала? А какие предпочитаете?

Цитировать
одна из ваших проблем это то что вы используете свободный драйвер для nvidia для игрушек нужен проприаретарный.
Да нет, давно уже играю на проприетарном :) На свободном то даже пасьянс, наверное, без фризов не запустится. Сам драйвер обновляется чуть не каждую неделю. Одно есть НО! 4.13 ядро позавчера с заголовочными файлами у меня загрузилось через обновления, и игры стали зависать, я вернулся на 14.12.0.0, и пока всё чётко.

Теперь вам на будущее поделюсь практическим опытом, я сижу под игровым ноутбуком, а тут видео идет гибридное: intel hd + geforce 680m, это не стационарный ящик, тут всё завязано на проекте Bumblebee, nvidia-xconfig тут не выполняется, иначе убьете иксы. Утилиту саму скачать можно, но и то, запускать под примусом, либо оптираном, что бы убедиться, что драйвер нужный подтянут, и система его определяет нормально. Это очень важный момент, я с этим недели 2 провозился с момента знакомства с дебиан в консоли и строкой нет драйвера для загрузки оболочки. Тоже будет, если воспользоваться скриптом sgfxi, получите консоль с пустым экраном с сообщением, что не найден модуль загрузки иксов.
Цитировать
sudo apt update
sudo sudo apt update
sudo apt install nvidia-kernel-dkms nvidia-xconfig
sudo nvidia-xconfig
sudo-reboot

Насчёт рутрекера вопросов нет, то был эксперимент, сам же я люблю всё делать своими руками и под себя, что бы понимать, что есть, что. У меня сейчас загружен wine 2.0.3, Корсары не требуют csmt, поэтому обойдусь без stanging.
Я пока ничего не могу понять с гибридной мультиартитектурой debian 9. Чтобы скомпилировать wine 2.0.3 мне нужны в системе 32 битные библиотеки, как мне их доустановить? :)

Вот ia32-libs: https://packages.debian.org/wheezy/ia32-libs
Что означает, что он мигриговал в мультиархитектуру? Как мне компилятору wine объяснить, что библиотеки надо искать в мультиархитектуре?
« Последнее редактирование: 03 Декабрь 2017, 19:12:12 от kish »
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #5 : 03 Декабрь 2017, 19:51:49 »
Зеркала предпочитаю deb http://ftp.ru.debian.org/debian/
Не понял по поводу ядра в стандартных репах stretch его быть не должно где то у вас не стыковка как и
Возникла необходимость пропатчить исходник wine 2.20 для игры Корсары Возвращение легенды
У меня сейчас загружен wine 2.0.3, Корсары не требуют csmt, поэтому обойдусь без stanging.
Крайняя версия wine 2.22. Так что именно вы хотите?
Не уверен что с гибридной графикой  всё будет хорошо работать, я наслышан про гибридную графику ноутбуков и если буду себе покупать то только на intel. Остальное пока поддерживается не так как хотелось бы.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #6 : 03 Декабрь 2017, 20:07:12 »
Я так и не понял, как установить все необходимые 32 битные библиотеки для компиляции wine?

Так. Пока писал сообщение, до меня дошло... Я говорю о проблеме компиляции wine из исходников, а не просто установку из репозитория, мы об одном и том же?
Цитировать
Не уверен что с гибридной графикой  всё будет хорошо работать, я наслышан про гибридную графику ноутбуков и если буду себе покупать то только на intel. Остальное пока поддерживается не так как хотелось бы.
Посмотрите на YouTube обзоры гейминга под Linux, эра мобильной графики уже давно наступила, и вполне неплохо себя даже зарекомендовала. Ну, если вы планируете покупать ноутбук только со встроенной графикой от intel, то ваши запросы очень скромны, добавлю лирики, вы, похоже, из категории людей, до сих пор считающих жигули - машиной, но дело ваше :)
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #7 : 03 Декабрь 2017, 20:36:38 »
Я ни когда не считал жигули машиной но в этом мире (не то что на ютюбе) 3/4 враньё а не плохо не значит замечательно....с учётом индивидуальных способностей каждого  :D
Про сборочные зависимости всё просто (строка deb-src у вас присутствует)
sudo apt-get build-dep wine-developmentСмотрите предложенный список пакетов, ставите их и те же пакеты только после имени каждого дописываете :i386
это будет основа, остальное если потребуется вычисляется из вывода работы скрипта ./configure
Завтра я буду дома, где у меня записи и вам напишу дальнейший порядок действий, ещё после загрузки исходников надо будет разобраться как наложить ваш патч.
Кстати ваш wine придётся прежде удалить и сделать autoremove так как будут проблемы зависимостей и это придумал не я.
На сколько я понимаю у вас сейчас стоит сборка с wineHQ файлы в /opt а сборка из исходников ложится в /usr/local
 Ну и стоит помнить что эта версия пока не стабильная.
Off-Topic: ShowHide
Я вообще предпочитаю стационарные компьютеры, хотя сейчас пишу с нетбука и хотя располагаю временем что бы посидеть за компьютером мне в принципе жаль его тратить на игры. Мне приятней покопаться в консоли собирая какой нибудь пакет, который кому нибудь нужен. Могу конечно глянуть киношку но тут действительно потребности не велики.
« Последнее редактирование: 03 Декабрь 2017, 20:50:39 от ferum »
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #8 : 03 Декабрь 2017, 22:32:42 »
хорошо, для фрипайп:

Цитировать
sudo apt-get install libfreetype6-dev:i386
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 libfreetype6-dev:i386 : Зависит: libc6-dev:i386 но он не будет установлен или
                                         libc-dev:i386
                         Зависит: zlib1g-dev:i386 но он не будет установлен или
                                         libz-dev:i386
                         Зависит: libpng-dev:i386 но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

В поиске случайно наткнулся на тему:
Цитировать
Для сборки программ для разных архитектур удобно использовать chroot.
Похоже, что я близок к разгадке... Пока совсем непонятно, о чём идёт речь.
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #9 : 04 Декабрь 2017, 10:27:26 »
Вот так пихать в систему что попало со всяких трекеров, у вас же там ядра какие то левые стоят вы об этом вскользь писали. В общем прежде надо привести систему в исходное состояние. Без тех пакетов wine вам не собрать
Про croot это чистая среда ,я именно так делаю пакеты, но опять же зависимости в них прописываются под стандартную систему.
Выше правда ваш sources.list ? Что у вас в /etc/apt/sources.list.d ? Какие левые пакеты устанавливали?
 Ладно если разберётесь со сборочными зависимостями дальше так:
mkdir source
cd source
git clone git://source.winehq.org/git/wine.git
cd wine
Дальше идёте в папку с исходниками wine>dills>wined3d открываете графическим текстовым редактором файл resource.c как написано https://bugs.winehq.org/attachment.cgi?id=57957&action=diff#a/dlls/wined3d/resource.c_sec1 сохраняете изменения и снова в консоль
mkdir wine64
cd wine64
.. /wine/./configure --enable-win64
make > make.log 2>&1
cd ..
mkdir wine32
cd wine32
.. /wine/ ./configure --with-win64=.. /wine64
make > make.log 2>&1
sudo make install
cd .. /wine64
sudo make install
Таким образом в систему устанавливается и 32 битная и 64 битная версии wine
P.S. делал свои записи уже давно на коленке если где то пропустил или воткнул лишний пробел не обессудьте, в любом случае надо понимать команды, в крайнем случае выругается так исправите.
Делал всё по мотивам этого кино https://www.youtube.com/watch?v=40BH9W5ToVI&t=97s
Удачи.
« Последнее редактирование: 04 Декабрь 2017, 11:20:04 от ferum »
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #10 : 04 Декабрь 2017, 17:20:51 »
Цитировать
В общем прежде надо привести систему в исходное состояние. Без тех пакетов wine вам не собрать
ferum
у вас у самого какой дистрибутив debian? 9 или 8?
Цитировать
Выше правда ваш sources.list ?
Да, а что в этом такого удивительного?
Левых пакетов не ставил вообще никаких, по-сути всё кручусь около одного и того же. Если начинать компиляцию wine сразу с параметра -enable-win64, то и никаких вопросов нет по поводу недостающих библиотек, а вот если так: ./configure --prefix=$HOME/kish/wine-test --with-x --with-xattr --without-freetype
 то сразу:

Цитировать
configure: WARNING: libxrender 32-bit development files not found, XRender won't be supported.

configure: WARNING: No OpenGL library found on this system.
OpenGL and Direct3D won't be supported.

configure: WARNING: libxml2 32-bit development files not found (or too old), XML won't be supported.

configure: WARNING: libxslt 32-bit development files not found, xslt won't be supported.

configure: WARNING: libgnutls 32-bit development files not found, no schannel support.

configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.

configure: WARNING: libpng 32-bit development files not found, PNG won't be supported.

configure: WARNING: No sound system was found. Windows applications will be silent.

configure: Finished.  Do 'make' to compile Wine.

Я нового ничего и не делаю, ввожу одни и те же команды, мне система и выдаёт, что пакеты не совместимы, и я желаю невозможного.
Если пойти от обратного, то 64 битные библиотеки присутствуют физически, их легко найти и в файловом менеджере... чего не скажешь о 32 битных библиотеках, сама папка то 32 битных библиотек есть, но нужных библиотек в ней нет, я пока не пойму "гения дебиановцев" в этом, может быть это и есть современный взгляд на Linux, пока это мнение.

Пока пытаюсь тоже понять:

Цитировать
mkdir wine64
cd wine64
.. /wine/./configure --enable-win64
make > make.log 2>&1
cd ..
mkdir wine32
cd wine32
.. /wine/ ./configure --with-win64=.. /wine64
make > make.log 2>&1
sudo make install
cd .. /wine64
sudo make install

Вы создаёте 2 отдельных каталога, под 32 битный wine и 64, а в параметрах компиляции указываете только 64 в обоих случаях, так должно быть? Или я может напрасно ищу решения для компиляции именно 32 битного wine, префикс то потом для старой игры можно будет задать 32 битным? Вопросов пока много...
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #11 : 04 Декабрь 2017, 18:20:33 »
У вас архитектура i386 вообще добавлена ? Это первый шаг в установке 32 битного вайна
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386
потом всё ставится.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн kish

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 13
Re: debian 9 сборка wine из исходников
« Ответ #12 : 04 Декабрь 2017, 20:05:43 »
Скомпилировал следующим образом:

./configure --prefix=$HOME/wine-test --enable-win64 --with-xattr
make depend && make CFLAGS="-mtune=native -march=native -O3 -pipe" -j$((`grep -c ^processor /proc/cpuinfo`*2+1))
make install

никаких жалоб на библиотеки не возникло, на выходе 4 каталога получил, игра запустилась. Уверен, что этот ответ поможет тут ещё очень многим, кто также заинтересуется скомпилировать патченные исходники wine под конкретную игру.

Цитировать
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386

Всё как обычно, вообщем тут надо другим путём подходить, а не библиотеки подгонять под нужды компилятора.
Цитировать
Уже установлен пакет libc6:i386 самой новой версии (2.24-11+deb9u2).
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3294
  • wheezy KDE & jessie LXDE & stretch KDE
Re: debian 9 сборка wine из исходников
« Ответ #13 : 04 Декабрь 2017, 20:17:09 »
Теперь вопрос, как скомпилировать 32 битный wine на 64 битной системе?
Был ответ на ваш вопрос.
никаких жалоб на библиотеки не возникло,
Что естественно сборочные зависимости подтягивают установочные зависимости.
на выходе 4 каталога получил, игра запустилась.
Ну надо просто быть в теме что бы понять выражение локальный префикс, я не играю например , для многих было бы полезней знать патчи от etersoft.
Русские дебианщики против цифрового слабоумия !
 

Русскоязычное сообщество Debian GNU/Linux

Re: debian 9 сборка wine из исходников
« Ответ #13 : 04 Декабрь 2017, 20:17:09 »


Теги:
 

vmware horizon view agent debian 9

Автор iwan12iwan

Ответов: 0
Просмотров: 685
Последний ответ 08 Август 2017, 17:44:21
от iwan12iwan
[ADT Eclipse + Android + VirtualBox] in Debian

Автор everloginme

Ответов: 0
Просмотров: 2042
Последний ответ 03 Декабрь 2012, 15:59:10
от everloginme
Проблемы при запуске Virtualbox 5.2 на Debian 9

Автор kvadim

Ответов: 11
Просмотров: 1449
Последний ответ 06 Июль 2018, 09:02:12
от kvadim
VBox настройка общей папки для Debian

Автор ecio

Ответов: 8
Просмотров: 4873
Последний ответ 18 Апрель 2012, 09:47:59
от vladimir_ar
Эмулятор Android for Debian 8

Автор losangeles

Ответов: 4
Просмотров: 3446
Последний ответ 05 Декабрь 2015, 18:00:41
от losangeles