[devel] wine and arepo in prog mode

Aleksei Nikiforov darktemplar на altlinux.org
Пт Сен 11 12:19:12 MSK 2020


11.09.2020 11:26, Anton V. Boyarshinov пишет:
> В Fri, 11 Sep 2020 11:13:54 +0300
> "Dmitry V. Levin" <ldv на altlinux.org> пишет:
> 
>> Насколько я понимаю, wine и i586-wine до сих пор продолжают конфликтовать
>> по файлам (ср. напр. /usr/bin/wineserver), поэтому убирать тэг Conflicts
>> пока ещё рано.
> 
> Я ничего об этом не знаю, но, меня терзает сомнение: если на 64-битных
> машинах будет 2 разных wineserver -- будет ли корректно работать
> wine-64? Ему же не просто так нужен wine-32...

Я этот момент перепроверю в плане того, как именно это делается. Одно 
могу сказать точно: wine 32битный и 64битный уживаются на одной системе 
точно.

Если не ошибаюсь, то одного wineserver, общего для двух архитектур, 
должно хватать.

Вот результат перепроверки:

# apt-get install i586-wine i586-libwine-gl
# apt-get install wine libwine-gl
тут удаляется i586-wine, но все его зависимости остаются в системе.

# apt-get install winetricks

$ winetricks -q vcrun2015
------------------------------------------------------
WINE is wine, which is neither on the path nor an executable file
------------------------------------------------------

$ WINE=wine64 winetricks -q vcrun2015
Executing mkdir -p /home/test
...
Executing cd /home/test/.cache/winetricks/vcrun2015
Executing wine64 vc_redist.x86.exe
002c:fixme:winediag:__wine_start_process Wine Staging 5.16 is a testing 
version containing experimental patches.
002c:fixme:winediag:__wine_start_process Please mention your exact 
version when filing bug reports on winehq.org.
0024:err:module:process_init L"Y:\\vcrun2015\\vc_redist.x86.exe" not 
supported on this system
------------------------------------------------------
Важно: команда wine64 vc_redist.x86.exe вернула статус 123. Прерывание.
------------------------------------------------------

Сейчас wine 64битный не в состоянии запустить 32битное приложение 
vc_redist.x86.exe.

Теперь для теста поставим обе версии wine, поставив wine поверх 
i586-wine (и для теста перетерев все общие файлы).

# apt-get install i586-wine
тут удаляется wine, но все его зависимости остаются в системе.

$ file /usr/bin/wineserver
/usr/bin/wineserver: ELF 32-bit LSB executable, Intel 80386, version 1 
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, stripped

# rpm -i --nodeps --replacefiles 
/mnt/repo/Sisyphus/x86_64/RPMS.classic/wine-5.16.1-alt3.x86_64.rpm
Устанавливаю wine перетирая все конфликтующие файлы из i586-wine.

$ file /usr/bin/wineserver
/usr/bin/wineserver: ELF 64-bit LSB executable, x86-64, version 1 
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, stripped

Удаляю старый префикс wine. Можно было бы и другой взять, но для тестов 
это не нужно.

$ rm -rf ~/.wine

$ winetricks -q vcrun2015
Executing mkdir -p /home/test
...
успешно завершается
$ winecfg

На вкладке "Библиотеки" можно наблюдать кучу установленных библиотек из 
vcrun2015, которых там не было до выполнения "winetricks -q vcrun2015". 
Можно удалить префикс ~/.wine (или указать другой через переменную 
окружения WINEPREFIX) и убедиться.

Это говорит о том, что 32-битное приложение (инсталлятор vcrun2015 в 
данном случае) на установленном таким образом wine работает нормально.

Теперь нужно 64битное приложение ещё. Качаю с сайта blender 
https://www.blender.org/download/ portable версию для windows 64bit.

$ unzip blender-2.90.0-windows64.zip
$ cd blender-2.90.0-windows64
$ file blender.exe
blender.exe: PE32+ executable for MS Windows (console) Mono/.Net assembly

У blender файл - похоже 64битный, а вот у установщиков vcrun2015 - 32битные:

$ file ~/.cache/winetricks/vcrun2015/vc_redist.x86.exe
/home/test/.cache/winetricks/vcrun2015/vc_redist.x86.exe: PE32 
executable for MS Windows (GUI) Intel 80386 32-bit
$ file ~/.cache/winetricks/vcrun2015/vc_redist.x64.exe
/home/test/.cache/winetricks/vcrun2015/vc_redist.x64.exe: PE32 
executable for MS Windows (GUI) Intel 80386 32-bit

$ wine blender.exe

Запустилось, работает. Сохранил информацию о системе. Из файла:

=====================================
= Blender 2.90.0 System Information =
=====================================


Blender:
=====================================

version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: 
0330d1af29c0, type: Release
build date: 2020-08-31, 10:00:13
platform: Windows
binary path: 'Z:\\home\\test\\blender-2.90.0-windows64\\blender.exe'
build cflags: /W3 /w34062 /w34115 /w34189 /wd4018 /wd4146 /wd4065 
/wd4127 /wd4181 /wd4200 /wd4244 /wd4267 /wd4305 /wd4800 /wd4828 /wd4996 
/wd4661 /we4013 /we4133 /we4431 /w35038 /DWIN32 /D_WINDOWS /W3 /nologo 
/J /Gd /MP /bigobj -openmp
build cxxflags: /W3 /w34062 /w34115 /w34189 /wd4018 /wd4146 /wd4065 
/wd4127 /wd4181 /wd4200 /wd4244 /wd4267 /wd4305 /wd4800 /wd4828 /wd4996 
/wd4661 /we4013 /we4133 /we4431 /w35038 /DWIN32 /D_WINDOWS /W3 /GR /EHsc 
/nologo /J /Gd /MP /EHsc /bigobj /permissive- /Zc:twoPhase- -openmp 
/std:c++17
build linkflags: /MACHINE:X64  /SUBSYSTEM:CONSOLE /STACK:2097152 
/ignore:4049 /ignore:4217 /ignore:4221
build system: CMake

Python:
=====================================

version: 3.7.7 (default, Jun 13 2020, 11:11:23) [MSC v.1916 64 bit (AMD64)]



Стоит обратить внимание на "[MSC v.1916 64 bit (AMD64)]" из версии 
питона и "/MACHINE:X64" из build linkflags у blender.

Для других 64битных и 32битных приложений всё тоже должно работать в 
соответствии с https://appdb.winehq.org.

Также можно взять blender не portable, а установщик, и запустить его:

$ wine msiexec /i blender-2.90.0-windows64.msi


Подробная информация о списке рассылки Devel