http://bugs.winehq.org/show_bug.cgi?id=14848
Mikko Kortelainen kordex@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kordex@gmail.com
--- Comment #13 from Mikko Kortelainen kordex@gmail.com 2010-01-20 17:25:43 --- I have fixed this. Mind adding to Warcraft 3 game entry.
I did hand compile wine-war3 (from someones git repo but this should work for any version of wine). These are following libraries and wine which I have compiled on Gentoo amd64 latest portage on (21.1.2010) and linux32-emulation ebuilds installed:
hecorelia:~/.wine/drive_c/Program Files/Warcraft III% ls /opt/32/ gnupg-1.4.10 gnutls-2.6.6 libgcrypt-1.4.5 libgpg-error-1.7 wine-war3
hecorelia:~/.wine/drive_c/Program Files/Warcraft III% /opt/32/wine-war3/bin/wine euroloader.exe -opengl fixme:system:SetProcessDPIAware stub! fixme:dwmapi:DwmIsCompositionEnabled 0x33cf94 fixme:iphlpapi:NotifyAddrChange (Handle 0x421e8f8, overlapped 0x421e900): stub fixme:iphlpapi:GetAdaptersAddresses no support for IPv6 addresses fixme:shell:DllCanUnloadNow stub wine: configuration in '/home/kordex/.wine' has been updated.
===========Crashed (Could not 'write' memory 0xF00**** ============== -----------+++MAGIC+++------------* hecorelia:~/.wine/drive_c/Program Files/Warcraft III% setenv LD_LIBRARY_PATH /opt/32/gnutls-2.6.6/lib
hecorelia:~/.wine/drive_c/Program Files/Warcraft III% /opt/32/wine-war3/bin/wine euroloader.exe -opengl hecorelia:~/.wine/drive_c/Program Files/Warcraft III% err:ole:CoCreateInstance apartment not initialised fixme:win:EnumDisplayDevicesW ((null),0,0x33f2f4,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33f650,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33f688,0x00000000), stub! fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16 fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x1419f8,0x147a30): stub
===========WORKS===========
Victory, Did not crash. It seems that gnutls32 is not provided and wine does not even whine about it so it confuses a lot (yes it took some days to find this out and hours of forum reading). Gentoo's USE=gnutls emerge wine did not help. My binaries are compiled with gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4 as setenv CC "gcc -m32" && setenv CXX "g++ -m32".
* Using LD_LIBRARY_PATH is a dirty fix but, what one can do, i am not going to poison /usr with my hand compiled things. /opt is my friend. Always.