Mathcad 15 в wine

Автор qppl, 11 декабря 2016, 10:21:32

« назад - далее »

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

qppl

Всем доброго времени суток !!
Первый раз столкнулся с wine и не нашел внятного решения в сети, поэтому пришел сюда.
Имею debian 8 x64, задумался над запуском portable версии mathcad 15 через вино. Но сразу столкнулся с проблемой разрядности.
Можно ли как то определить для какой архитектуры мое приложение mathcad ?
Правда пробовал и wine64 и wine32 для запуска, но в обоих случая получаю ошибку :
"wine: Bad EXE format for Z:\home\pc\.wine32\drive_c\mathcad15\Mathcad15.exe."
по мимо wine ставил либы от сюда
Не подскажете как запускать portable приложения в целом ?

ferum

Стесняюсь спросить а вы эту программу в windows использовали ?
Беглое гугленье говорит о том что https://appdb.winehq.org/objectManager.php?sClass=version&iId=27162&iTestingId=75389 говорит об установке программы . Сама установка под винду даже описана http://allmathcad.com/ru/skachat-mathcad-15-russkaya-versiya.html а про портабле версию http://blog.kislenko.net/show.php?id=945 и не факт что в wine она должна работать.
Русские дебианщики против цифрового слабоумия !

qppl

Цитата: ferum от 11 декабря 2016, 10:45:46
Стесняюсь спросить а вы эту программу в windows использовали ?
Использовал в windows 7, в 10-ке не запустилась.
Сейчас попробую скачать инсталятор mathcad.

qppl

Даже если сам создаю префикс руками, то при выполнении действия:
$wine setup.exe
создается префикс .wine64 и выдает ошибку:
wine: Bad EXE format for Z:\media\iso\setup.exe.
В общем тоже самое было и с версией portable ... оба маткада запускаются на винде без проблем!
Ни кто не знает почему постоянно выдает Bad EXE ?

ferum

В общем из любопытсва попробовал несколько леваков, ставится всё без ошибок только итог нулевой...возможно я вообще какой нибудь вирус ставлю но по моему вы просто не правильно указываете путь для ехешника, если вы даже смонтировали Iso образ вам тупо надо сделать переход cd /media/iso/
по команде ls вы должны увидеть setup.exe а дальше командой ставить в выбранный вами префикс
наприер я закинул установщик в созданную у себя папку tmp
cd tmp
alex@alex:~/tmp$ WINEPREFIX="/home/alex/.wine1/" wine Mathcad_15_Rus_[tfile.ru].exe
и у меня всё шуршит
Русские дебианщики против цифрового слабоумия !

Aalexeey

qppl, в wine большинство портативных програм работает криво, редкое исключение составляют те программы которые созданны портативными изначально. Собственно это всё было причиной отказа от wine, в винде у меня 80-90 % софта было портативным.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

qppl

Может конечно что и не так делаю.
Создаю префикс:
Открыть содержимое (спойлер)

lev@debian:~$ WINEARCH=win32 WINEPREFIX=~/.wine1 winecfg
/usr/bin/winecfg: 32: exec: wine32: not found
lev@debian:~$ WINEARCH=win64 WINEPREFIX=~/.wine1 winecfg
wine: created the configuration directory '/home/lev/.wine1'
fixme:storage:create_storagefile Storage share mode not implemented.
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
fixme:storage:create_storagefile Storage share mode not implemented.
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:iphlpapi:NotifyAddrChange (Handle 0xede338, overlapped 0xede350): stub
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:iphlpapi:NotifyAddrChange (Handle 0xeee338, overlapped 0xeee350): stub
wine: configuration in '/home/lev/.wine1' has been updated.

[свернуть]

Далее пытаюсь установить из смонтированного iso образа :

lev@debian:/media/iso$ WINEPREFIX="/home/lev/.wine1" wine setup.exe
wine: Bad EXE format for E:\setup.exe.


Ну и конечно же попытка запустить портативную версию:

lev@debian:~/program/mathcad15$ WINEPREFIX="/home/lev/.wine1" wine Mathcad\ 15
wine: Bad EXE format for Z:\home\lev\program\mathcad15\Mathcad 15.exe.


PS

lev@debian:~/program/mathcad15$ wine --version
wine-1.6.2

ferum

Цитата: qppl от 16 декабря 2016, 18:32:27wine-1.6.2
Понятно он же отстойный, года полтора назад это обсуждалось . Мне уже лень этим заниматься для текущего stable но я выкладывал три сборки, есть и другие https://debianforum.ru/index.php?topic=9226.0
Из любопытства я например изголился и собрал на centos 7 wine-1.19.22 ( последний на тот момент ) из исходников. Это не сложно, достаточно поставить сборочные зависимости для обеих архитектур и выполнить двойную сборку. Для Centos https://www.centos.org/forums/viewtopic.php?f=48&t=49542
http://unix.stackexchange.com/questions/140280/no-32-development-library-error-after-install-glibc-devel-i686
http://tecadmin.net/steps-install-wine-centos-rhel-fedora-systems/#
http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/
https://www.youtube.com/watch?v=40BH9W5ToVI
У нас в принципе то же самое только найти соответствующие пакеты.
Единственная непонятка с этими программами они что то криво ставятся в не дефолтный префикс, по крайней мере у меня но такой ошибки как у вас точно нет. Возможно под эту программу надо отдать /.wine
С другой стороны я пробовал другие инсталляторы такого образа как у вас не нашёл.
Русские дебианщики против цифрового слабоумия !

qppl

#8
Спасибо большое, сейчас попробую собрать другую версию вина ...
По поводу образа, я брал на rutracker

UPD
Скачал исходники wine1.8, собрал поставил вроде норм.
Префикс не создавал, сразу решил запустить mathcad который портативный, конечно префикс создался по умолчанию (.wine), но ничего не произошло ))) Ни ошибки ни запуска программы.
Попробовал поставить в префикс, все что написано тут что-то поставилось что-то нет.
Попробовал запустить установку из iso образа. Ну наконец-то процесс прошел ... правда не долго радовался жизни, маткад встал, но не запускается, выдал вот такое, не подскажете что с этим делать ?
Открыть содержимое (спойлер)

Unhandled exception: C++ exception(object = 0x00f0f4e8, type = 0x002d8948) in 32-bit code (0x7b83a38c).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7b83a38c ESP:00f0f414 EBP:00f0f488 EFLAGS:00000216(   - --  I   -A-P- )
EAX:7b8278bd EBX:7b8b66b4 ECX:00f0f434 EDX:00f0f4b4
ESI:00000008 EDI:00f0f4e8
Stack dump:
0x00f0f414:  00110000 7bccd6c4 00110014 e06d7363
0x00f0f424:  00000001 00000000 7b83a38c 00000003
0x00f0f434:  19930520 00f0f4e8 002d8948 001470a8
0x00f0f444:  001470b0 7bc4db6d 7bc4e4ac 00110060
0x00f0f454:  001470b0 f75d1eab f7770698 00000003
0x00f0f464:  7e55bbf4 00f0f498 f75d2190 7e55bbf4
Backtrace:
=>0 0x7b83a38c RaiseException+0x8c(code=<couldn't compute location>, flags=<couldn't compute location>, nbargs=<couldn't compute location>, args=<couldn't compute location>) [/home/lev/Downloads/wine/wine-1.8.4/dlls/kernel32/except.c:84] in kernel32 (0x00f0f488)
  1 0x7e0a3615 _CxxThrowException+0x34(object=<couldn't compute location>, type=<couldn't compute location>) [/home/lev/Downloads/wine/wine-1.8.4/dlls/msvcr80/../msvcrt/cpp.c:1162] in msvcr80 (0x00f0f4c8)
0x7b83a38c RaiseException+0x8c [/home/lev/Downloads/wine/wine-1.8.4/dlls/kernel32/except.c:84] in kernel32: addl   $12,%esp
84       RtlRaiseException( &record );
Modules:
Module   Address         Debug info   Name (124 modules)
PE     230000-  278000   Deferred        vsdataior
PE     280000-  2c1000   Deferred        vsfcr
PE     2d0000-  2df000   Export          newmsgr
PE     2e0000-  2f2000   Deferred        uiutil2r
PE     300000-  341000   Deferred        uiutilr
PE     350000-  358000   Deferred        sxsregr
PE     360000-  3ce000   Deferred        utlr
PE     3d0000-  3e2000   Deferred        engutilsr
PE     400000-  579000   Deferred        mathcad
PE     f10000-  fa2000   Deferred        webdavr
PE     fb0000-  fce000   Deferred        mshexr
PE     fd0000- 1054000   Deferred        boost_regex-vc80-mt-1_33_1
PE    1060000- 1066000   Deferred        mspconsr
PE    1070000- 107b000   Deferred        mcaduser
PE    1080000- 10b5000   Deferred        resdllr
PE    12e0000- 12e4000   Deferred        webdavres_ru
PE    12f0000- 12fd000   Deferred        vsdataiores_ru
PE    1410000- 1418000   Deferred        vsfcres_en
PE    1420000- 165d000   Deferred        mcres_ru
PE    1660000- 1668000   Deferred        vsfcres_ru
PE    1670000- 1772000   Deferred        efiutlr
PE   10000000-10453000   Deferred        mathdllr
PE   5d360000-5d36e000   Deferred        mfc80enu
PE   782e0000-783ef000   Deferred        mfc80u
ELF   7ac00000-7ac78000   Deferred        riched20<elf>
  \-PE   7ac10000-7ac78000   \               riched20
ELF   7b800000-7ba61000   Dwarf           kernel32<elf>
  \-PE   7b810000-7ba61000   \               kernel32
ELF   7bc00000-7bceb000   Deferred        ntdll<elf>
  \-PE   7bc10000-7bceb000   \               ntdll
ELF   7bf00000-7bf03000   Deferred        <wine-loader>
PE   7c4c0000-7c53d000   Deferred        msvcm80
ELF   7d5ee000-7d689000   Deferred        urlmon<elf>
  \-PE   7d600000-7d689000   \               urlmon
ELF   7d689000-7d6b2000   Deferred        liblzma.so.5
ELF   7d6b2000-7d834000   Deferred        libxml2.so.2
ELF   7d856000-7d951000   Deferred        msxml3<elf>
  \-PE   7d860000-7d951000   \               msxml3
ELF   7d951000-7d97d000   Deferred        msxml6<elf>
  \-PE   7d960000-7d97d000   \               msxml6
ELF   7da26000-7da68000   Deferred        usp10<elf>
  \-PE   7da30000-7da68000   \               usp10
ELF   7da68000-7da9f000   Deferred        uxtheme<elf>
  \-PE   7da70000-7da9f000   \               uxtheme
ELF   7da9f000-7dac5000   Deferred        libxcb.so.1
ELF   7dac5000-7dc17000   Deferred        libx11.so.6
ELF   7dc17000-7dc2c000   Deferred        libxext.so.6
ELF   7dc2c000-7dc96000   Deferred        winex11<elf>
  \-PE   7dc40000-7dc96000   \               winex11
ELF   7dc96000-7dcb9000   Deferred        imm32<elf>
  \-PE   7dca0000-7dcb9000   \               imm32
ELF   7dcb9000-7dce6000   Deferred        libpng12.so.0
ELF   7dce6000-7dd98000   Deferred        libfreetype.so.6
ELF   7dda7000-7ddba000   Deferred        riched32<elf>
  \-PE   7ddb0000-7ddba000   \               riched32
ELF   7ddba000-7dde8000   Deferred        netapi32<elf>
  \-PE   7ddc0000-7dde8000   \               netapi32
ELF   7dde8000-7ddff000   Deferred        userenv<elf>
  \-PE   7ddf0000-7ddff000   \               userenv
ELF   7ddff000-7dec9000   Deferred        crypt32<elf>
  \-PE   7de10000-7dec9000   \               crypt32
ELF   7dec9000-7df2c000   Deferred        dbghelp<elf>
  \-PE   7ded0000-7df2c000   \               dbghelp
ELF   7df2c000-7df5f000   Deferred        mscoree<elf>
  \-PE   7df30000-7df5f000   \               mscoree
ELF   7df5f000-7df98000   Deferred        ws2_32<elf>
  \-PE   7df70000-7df98000   \               ws2_32
ELF   7df98000-7dfb5000   Deferred        libz.so.1
ELF   7dfb8000-7dfc4000   Deferred        libxrender.so.1
ELF   7dfc4000-7dfd7000   Deferred        psapi<elf>
  \-PE   7dfd0000-7dfd7000   \               psapi
ELF   7dfd7000-7e04e000   Deferred        wininet<elf>
  \-PE   7dfe0000-7e04e000   \               wininet
ELF   7e04e000-7e074000   Deferred        mpr<elf>
  \-PE   7e050000-7e074000   \               mpr
ELF   7e074000-7e136000   Dwarf           msvcr80<elf>
  \-PE   7e090000-7e136000   \               msvcr80
ELF   7e136000-7e277000   Deferred        msvcp80<elf>
  \-PE   7e170000-7e277000   \               msvcp80
ELF   7e277000-7e3ad000   Deferred        oleaut32<elf>
  \-PE   7e290000-7e3ad000   \               oleaut32
ELF   7e3ad000-7e42b000   Deferred        rpcrt4<elf>
  \-PE   7e3c0000-7e42b000   \               rpcrt4
ELF   7e42b000-7e55c000   Deferred        ole32<elf>
  \-PE   7e440000-7e55c000   \               ole32
ELF   7e55c000-7e574000   Deferred        libresolv.so.2
ELF   7e577000-7e583000   Deferred        libxcursor.so.1
ELF   7e583000-7e596000   Deferred        shfolder<elf>
  \-PE   7e590000-7e596000   \               shfolder
ELF   7e596000-7e5bd000   Deferred        iphlpapi<elf>
  \-PE   7e5a0000-7e5bd000   \               iphlpapi
ELF   7e5bd000-7e5f9000   Deferred        winspool<elf>
  \-PE   7e5c0000-7e5f9000   \               winspool
ELF   7e5f9000-7e66e000   Deferred        shlwapi<elf>
  \-PE   7e610000-7e66e000   \               shlwapi
ELF   7e66e000-7e8ae000   Deferred        shell32<elf>
  \-PE   7e680000-7e8ae000   \               shell32
ELF   7e8ae000-7e996000   Deferred        comdlg32<elf>
  \-PE   7e8b0000-7e996000   \               comdlg32
ELF   7e996000-7eaa9000   Deferred        gdi32<elf>
  \-PE   7e9a0000-7eaa9000   \               gdi32
ELF   7eaa9000-7ebf6000   Deferred        user32<elf>
  \-PE   7eac0000-7ebf6000   \               user32
ELF   7ebf6000-7ecf0000   Deferred        comctl32<elf>
  \-PE   7ec00000-7ecf0000   \               comctl32
ELF   7ecf0000-7ed66000   Deferred        advapi32<elf>
  \-PE   7ed00000-7ed66000   \               advapi32
ELF   7ef66000-7ef73000   Deferred        libnss_files.so.2
ELF   7ef73000-7ef7f000   Deferred        libnss_nis.so.2
ELF   7ef7f000-7ef98000   Deferred        libnsl.so.1
ELF   7ef98000-7efde000   Deferred        libm.so.6
ELF   7efe0000-7efe7000   Deferred        libxfixes.so.3
ELF   7efe7000-7f000000   Deferred        version<elf>
  \-PE   7eff0000-7f000000   \               version
ELF   f73d5000-f73db000   Deferred        libxdmcp.so.6
ELF   f73dc000-f73e1000   Deferred        libdl.so.2
ELF   f73e1000-f758e000   Deferred        libc.so.6
ELF   f758f000-f75ab000   Deferred        libpthread.so.0
ELF   f75ac000-f75b0000   Deferred        libxinerama.so.1
ELF   f75c0000-f75c4000   Deferred        libxau.so.6
ELF   f75c4000-f75cd000   Deferred        libnss_compat.so.2
ELF   f75cd000-f7784000   Dwarf           libwine.so.1
ELF   f7786000-f77a7000   Deferred        ld-linux.so.2
ELF   f77a7000-f77a8000   Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Program Files\Mathcad\Mathcad 15\mathcad.exe
   00000009    0 <==
0000000e services.exe
   00000022    0
   00000021    0
   00000018    0
   00000012    0
   0000000f    0
00000010 explorer.exe
   00000020    0
   00000017    0
   00000016    0
   00000011    0
00000014 winedevice.exe
   0000001d    0
   0000001c    0
   00000015    0
0000001e plugplay.exe
   00000024    0
   00000023    0
   0000001f    0
System information:
    Wine build: wine-1.8.4
    Platform: i386
    Version: Windows XP
    Host system: Linux
    Host version: 3.16.0-4-amd64
[свернуть]


qppl

После установки wine из исходников решил удалить старый, установленный из стандартного репозитория Debian (который 1.6 версия)
после sudo apt-get remove wine64 начали скачиваться какие то файлы (честно был в шоке). В итоге сейчас wine --version выдает 1.8.4 (что собирал из исходников), а
при выполнении dpkg -l wine* выдает :
un  wine-bin                             <none>                  <none>                  (no description available)
ii  wine-development                     1.7.29-4                amd64                   Windows API implementation - standard suite
ii  wine32-development                   1.7.29-4                i386                    Windows API implementation - 32-bit binary loader
un  wine32-development-preloader         <none>                  <none>                  (no description available)
ii  wine64-development                   1.7.29-4                amd64                   Windows API implementation - 64-bit binary loader
un  wine64-development-preloader         <none>                  <none>                  (no description available)


Ну раз поставил 1.7 версию мне debian думаю воспользоваться ей, но как ? Получается у меня есть 2 версии wine (1.7 и 1.8 ), при чем каждая из них может запускаться в 32 и 64 битных режимах.
Ох уж этот вайн ...
Кстати сейчас при запуске с wine 1.8 ( видимо он идет по умолчанию т.к. wine --version показывает 1.8 ) в 32 битном префиксе портативный маткад выдает:
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v2.0.50727_32" failed to start: 1053
Почитал вроде не хватает каких то wine-mono и wine-gecko, сейчас попробую еще их поставить, winetricks по видимому уже не нужен ни для 1.7 ни для 1.8 версии...

ferum

На счёт приложения не знаю, у меня оно вообще ни где не появлялось а вот по поводу wine вы накосячили , не конфликтуют они лишь потому что из пакетов ставится в /usr  а из исходников d /usr/local  естественно и apt  не видит программы установленной из исходников. На вашем месте я бы удалил wine в пакетах, оставив однако зависимости, они нужны для работы версии установленной из исходников в любом случае.
Если вы собирали wine по схеме как в ролике на ютюбе то у вас есть и  wine  и wine64 в /usr/local/bin. Соответственно префикс вам необходимо создавать в любом случае , при этом кстати происходит обновление конфигурации wine и он предлагает установить компоненты gecko  и mono грешно отказывать ему в этой малости. Без скрипта winetricks как вы установите компоненты https://appdb.winehq.org/objectManager.php?sClass=version&iId=27162
З.Ы. Вообще уж если собирать из исходников уместней было выбрать крайнюю версию wine.
Русские дебианщики против цифрового слабоумия !

qppl

#11
В общем попробовал удалить все wine'ы , но почему то "nu wine-bin" постоянно висит в dpkg -l wine* Подумал ну и пусть, лишь бы не мешал)
после 1.8.4 версии какие то странные на sourceforge, несколько папок, чет решил не лезть туда и собрал себе deb пакет через checkinstall
Поставил, есть и 32 и 64 битный префикс, но при запуске портативного маткада почему то вылазит ошибка:
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v2.0.50727_32" failed to start: 1053
Погуглил, но ничего интересного не нашел, хотя такая ошибка много у кого и не только в Debian. Куда капнуть еще можно ?

UPD
Только что заметил, даже если делаю
WINEPREFIX=~/.wine32 winecfg
вылазит
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v2.0.50727_32" failed to start: 1053
НО открывается winecfg

ferum

#12
Если честно не понял как можно собрать полноценный wine да ещё на 64 битной системе через checkinstall?
Вообще вариантов для сборки три:
1) Просто на виртуальной сборочной машине собрать wine для  i386  потом в рабочую систему добавить  multiarch и установить эти пакеты.
2) Тем же способом дополнительно собрать пакеты для 64 архитектуры но всё равно в исходнике зависимости прописываются для архитектуры i386.  Таким образом собирается ещё и 64 битный бинарный пакет который тянет за собой 32 битный пакет и зависимости для его работы.
3) Собрать wine из исходников для двух архитектур непосредственно на рабочей системе ( на ютюбе подробно разбирают такую сборку на примере centos но разница только в названиях сборочных зависимостей там devel у нас dev ну могут отличеться у них libблабла-devel у нас  блаблаlib-dev но с этим не сложно разобраться.
В любом случае 80% windows приложений заводятся только под архитектурой 32 бита и вам нужен 32 битный wine.
а префик создаётся командой.
WINEARCH=win32 WINEPREFIX=~/.wine1 winecfg
После выбора эмулятора версии windows именно для этой версии windows доустанавливаются шрифты и библиотеки через  winetricks опять же с чётким указанием этого префикса и уже потом в этот же префикс устанавливается приложение.
....и то ещё бабушка на двое сказала будет ли оно работать.
Короче говоря я попробовал: очень много времени занимает формирование префикса. Сразу создал префикс windows 7 потом в него поставил через winetricks https://appdb.winehq.org/objectManager.php?sClass=version&iId=27162&iTestingId=75389 Скачал с rutracker образ и смонтировал его. Запустил установку в префикс. Сначала всё пошло успешно но когда шкала достигла 50% всё запмерло , ждал пока не стошнило. Консоль зависла вместе с окном инсталлятора. Плюнул перезагрузился через консоль. Так то вроде в префиксе в программных файлах всё появилось но ни ярлыков  ни каких признаков. Снёс префикс через mc.
Русские дебианщики против цифрового слабоумия !