Workaround for WINEARCH=win32 not working in SL amd64

A place where Linux Gamers can share their experience and help each other with Linux Games, native or emulated ;)

Moderator: Moderators

Workaround for WINEARCH=win32 not working in SL amd64

Postby Matte88 » Mon Jan 17, 2011 20:33

I'm using q4wine-0.120 to manage wine-1.3.10.
I got an error when creating the Wine Fake drive.
The creation of Wine Fake drive is the passage that immediately follows the creation of the wine prefix.
It seems to me that the version of wine installed in an x86_64 Sabayon Linux environment can't recognize win32 prefixes, but this is strange: take a look at the USE Flags used in the installation of wine in Sabayon (the output is taken from equo install wine; sorry for using Quote tag :lol: )
USE: X alsa amd64 cups dbus elibc_glibc fontconfig gecko gnutls gsm jack jpeg kernel_linux lcms ldap mp3 multilib ncurses openal opengl perl png pulseaudio samba ssl threads truetype userland_GNU win32 win64 xinerama xml

Here some images to let you understand my issue:
Wine prefix (notice the voice architettura that is the italian equivalent of architecture that refers to WINEARCH setting in Wine)
Image

The error when creating Wine Fake drive
Image
Last edited by Matte88 on Tue Jan 18, 2011 21:14, edited 1 time in total.
Image
When I became the sun,
I shone life into the man's hearts.
User avatar
Matte88
Technological Hen
 
Posts: 399
Joined: Wed Dec 29, 2010 14:37
Location: @/etc/entropy/repositories.conf.d/entropy_sabayon-limbo

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Mon Jan 17, 2011 21:00

The two USE flags being set simultaneously should be OK, as it just means that you can run both 32-bit and 64-bit Windows applications in your amd64 SL installation, because both 32-bit and 64-bit libraries are installed on your machine.

However, if you want to run a 32-bit application you probably need to do the following first:

Code: Select all
export WINEARCH=win32 && wine path/to/applicationexecutable

As I don't have any 64-bit Windows applications, I just rebuilt WINE for 32-bit Windows applications only, via Portage, so I switched off the win64 USE flag, as you can see below:

Code: Select all
eix -I wine
[I] app-emulation/q4wine
     Available versions:  0.120 (~)0.120-r1 {-dbus debug gnome +icoutils kde +wineappdb}
     Installed versions:  0.120-r1(00:10:41 14/01/11)(dbus icoutils kde wineappdb -debug -gnome)
     Homepage:            http://q4wine.brezblock.org.ua/
     Description:         Qt4 GUI configuration tool for Wine

[I] app-emulation/wine
     Available versions:  1.2!t 1.2.1!t (~)1.2.2!t (~)1.3.0!t (~)1.3.1!t (~)1.3.2!t (~)1.3.3!t (~)1.3.4!t (~)1.3.5!t (~)1.3.6!t (~)1.3.7!t (~)1.3.8!t (~)1.3.9!t (~)1.3.10!t (~)1.3.11!t **9999!t {+X alsa capi cups custom-cflags dbus esd fontconfig +gecko gnutls gphoto2 gsm gstreamer hal jack jpeg lcms ldap mp3 nas ncurses nls openal +opengl +oss +perl png pulseaudio samba scanner ssl test +threads +truetype +win32 (+)win64 xcomposite xinerama xml}                                   
     Installed versions:  1.3.11!t(22:19:52 10/01/11)(X alsa cups dbus gecko gnutls gsm jack jpeg lcms ldap mp3 ncurses openal opengl perl png pulseaudio ssl threads truetype win32 xinerama xml -capi -custom-cflags -esd -fontconfig -gphoto2 -gstreamer -hal -nas -nls -oss -samba -scanner -test -win64 -xcomposite)                                                                                                                                                                             
     Homepage:            http://www.winehq.org/
     Description:         free implementation of Windows(tm) on Unix

Found 2 matches.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Mon Jan 17, 2011 22:03

Just had a more detailed look at your error message:

Code: Select all
WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie/CoD2' is a 64-bit installation.


Never played it, but I assume Call of Duty 2 is not a 64-bit application? Did you try setting up the WINEPREFIX and WINEARCH manually before installing Call of Duty 2 to see if you still have a problem? I think you'd need to do it this way:

Code: Select all
$ cd
$ export WINEPREFIX=$HOME/.wine-cod2
$ export WINEARCH=win32
$ winecfg
$ cd .wine-cod2/drive_c/

Then install Call of Duty 2.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Matte88 » Tue Jan 18, 2011 13:02

Hi Fitzcarraldo, than you for reply. So, Call Of Duty 2 is a 32 bit application.
Did you try setting up the WINEPREFIX and WINEARCH manually before installing Call of Duty 2 to see if you still have a problem?
I didn't try that way, but I don't think this could resolve my issue: q4wine does tha same thing when you set win32 architecture in the prefix-creation wizard... However I'll give a try to the manual way and I'll let you know! :wink:
See ya! :pirat:

[edit]
This is what I try... It seems to give no results... Maybe a bug in wine for SL amd64? :shock:
Code: Select all
bh@SabyK ~ $ mkdir -p /home/bh/Giochi/Bottiglie_32/COD2/ && export WINEARCH=win32 && export WINEPREFIX=/home/bh/Giochi/Bottiglie_32/COD2/ && winecfg
wine: WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie_32/COD2' is a 64-bit installation.
bh@SabyK ~ $ rm -r /home/bh/Giochi/Bottiglie_32/
bh@SabyK ~ $ export WINEARCH=win32 && mkdir -p /home/bh/Giochi/Bottiglie_32/COD2/ && export WINEPREFIX=/home/bh/Giochi/Bottiglie_32/COD2/ && winecfg
wine: WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie_32/COD2' is a 64-bit installation.
bh@SabyK ~ $ mkdir -p /home/bh/Giochi/Bottiglie_32/COD2/ && export WINEARCH=win32 && export WINEPREFIX=/home/bh/Giochi/Bottiglie_32/COD2/ && winecfg
wine: WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie_32/COD2' is a 64-bit installation.
bh@SabyK ~ $ rm -r /home/bh/Giochi/Bottiglie_32/
bh@SabyK ~ $ export WINEARCH=win32 && mkdir -p /home/bh/Giochi/Bottiglie_32/COD2/ && export WINEPREFIX=/home/bh/Giochi/Bottiglie_32/COD2/ && winecfg
wine: WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie_32/COD2' is a 64-bit installation.
bh@SabyK ~ $ rm -r /home/bh/Giochi/Bottiglie_32/
bh@SabyK ~ $ mkdir -p /home/bh/Giochi/Bottiglie_32/COD2/ && export WINEPREFIX=/home/bh/Giochi/Bottiglie_32/COD2/ && export WINEARCH=win32 && winecfg
wine: WINEARCH set to win32 but '/home/bh/Giochi/Bottiglie_32/COD2' is a 64-bit installation.
bh@SabyK ~ $ rm -r /home/bh/Giochi/Bottiglie_32/


I guess I'll have to use Portage with -win64... :eye:
[/edit]
Image
When I became the sun,
I shone life into the man's hearts.
User avatar
Matte88
Technological Hen
 
Posts: 399
Joined: Wed Dec 29, 2010 14:37
Location: @/etc/entropy/repositories.conf.d/entropy_sabayon-limbo

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Tue Jan 18, 2011 17:02

OK, now you made me curious! So I re-installed WINE 1.3.11 for x86+amd64. Here is exactly what I did to install a small 32-bit freeware Windows utility called WinMD5Sum:

Code: Select all
# USE="win32 win64" emerge -1v wine
.
[The build ran to completion.]
.
# eix -I wine
[I] app-emulation/q4wine
     Available versions:  0.120 (~)0.120-r1 {-dbus debug gnome +icoutils kde +wineappdb}
     Installed versions:  0.120-r1(00:10:41 14/01/11)(dbus icoutils kde wineappdb -debug -gnome)
     Homepage:            http://q4wine.brezblock.org.ua/
     Description:         Qt4 GUI configuration tool for Wine

[I] app-emulation/wine
     Available versions:  1.2!t 1.2.1!t (~)1.2.2!t (~)1.3.0!t (~)1.3.1!t (~)1.3.2!t (~)1.3.3!t (~)1.3.4!t (~)1.3.5!t (~)1.3.6!t (~)1.3.7!t (~)1.3.8!t (~)1.3.9!t (~)1.3.10!t (~)1.3.11!t **9999!t {+X alsa capi cups custom-cflags dbus esd fontconfig +gecko gnutls gphoto2 gsm gstreamer hal jack jpeg lcms ldap mp3 nas ncurses nls openal +opengl +oss +perl png pulseaudio samba scanner ssl test +threads +truetype +win32 (+)win64 xcomposite xinerama xml}                                   
     Installed versions:  1.3.11!t(15:37:56 18/01/11)(X alsa cups dbus gecko gnutls gsm jack jpeg lcms ldap mp3 ncurses openal opengl perl png pulseaudio ssl threads truetype win32 win64 xinerama xml -capi -custom-cflags -esd -fontconfig -gphoto2 -gstreamer -hal -nas -nls -oss -samba -scanner -test -xcomposite)                                                                                                                                                                             
     Homepage:            http://www.winehq.org/
     Description:         free implementation of Windows(tm) on Unix

Found 2 matches.
# exit
exit
$ cd
$ export WINEPREFIX=$HOME/.wine-winmd5sum
$ export WINARCH=win32
$ winecfg
wine: created the configuration directory '/home/fitzcarraldo/.wine-winmd5sum'
fixme:seh:RtlAddFunctionTable 0x61e45600 1 61e40000: stub
fixme:seh:RtlAddFunctionTable 0x61777be0 1 61700000: stub
fixme:seh:RtlAddFunctionTable 0x64f69520 1 64f40000: stub
fixme:seh:RtlAddFunctionTable 0x622c6620 1 622c0000: stub
fixme:seh:RtlAddFunctionTable 0x6ce46600 1 6ce40000: stub
fixme:seh:RtlAddFunctionTable 0x68393b20 1 68380000: stub
fixme:seh:RtlAddFunctionTable 0x61b51dc0 1 61a80000: stub
fixme:seh:RtlAddFunctionTable 0x67bda640 1 67bc0000: stub
fixme:seh:RtlAddFunctionTable 0x70725e80 1 70700000: stub
fixme:seh:RtlAddFunctionTable 0x6af99940 1 69c40000: stub
fixme:system:SetProcessDPIAware stub!
fixme:seh:RtlAddFunctionTable 0x68ac55e0 1 68ac0000: stub
fixme:iphlpapi:NotifyAddrChange (Handle 0x29fe538, overlapped 0x29fe500): stub
err:mshtml:check_version Could not open VERSION file
fixme:system:SetProcessDPIAware stub!
fixme:iphlpapi:NotifyAddrChange (Handle 0x4b7e914, overlapped 0x4b7e918): stub
wine: configuration in '/home/fitzcarraldo/.wine-winmd5sum' has been updated.
fixme:mixer:ALSA_MixerInit No master control found on HD-Audio Generic, disabling mixer
fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
$ cd .wine-winmd5sum/drive_c/
$ cp ~/Downloads/Install-winMd5Sum.exe .
$ # Now I'm going to install the 32-bit Windows application:
$ wine ./Install-winMd5Sum.exe
$ # It installed OK, so now I'm going to run the application:
$ wine ~/.wine-winmd5sum/drive_c/Program\ Files\ \(x86\)/winMd5Sum/WinMd5Sum.exe
$ # It runs OK.
$

It works fine, so I'm not sure what is wrong in your case. Look at my USE flags for WINE and compare them with yours; perhaps there is something else that you need. See my USE flags in the output from the eix command that I pasted above in this post.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Tue Jan 18, 2011 19:58

Just noticed that I entered WINARCH by mistake instead of WINEARCH above. So why did the 32-bit Windows application install and run correctly? Must have been a coincidence that the 32-bit application ran OK.

I decided to try to run the 32-bit Windows application again after I got back from dinner. I powered up the laptop and this is what happened:

Code: Select all
$ cd
$ export WINEPREFIX=$HOME/.wine-winmd5sum
$ export WINEARCH=win32
$ winecfg
wine: WINEARCH set to win32 but '/home/fitzcarraldo/.wine-winmd5sum' is a 64-bit installation.

OK, so I tried with the incorrect WINARCH instead of WINEARCH, just to see what happens:

Code: Select all
$ export WINARCH=win32
$ winecfg
wine: WINEARCH set to win32 but '/home/fitzcarraldo/.wine-winmd5sum' is a 64-bit installation.

but that's no good either.

So I tried running it from the WINE Drive C, to see if that made a difference:

Code: Select all
$ cd .wine-winmd5sum/drive_c/
$ wine ~/.wine-winmd5sum/drive_c/Program\ Files\ \(x86\)/winMd5Sum/WinMd5Sum.exe
wine: WINEARCH set to win32 but '/home/fitzcarraldo/.wine-winmd5sum' is a 64-bit installation.

Nope. So I try the incorrect WINARCH=win32 from the WINE Drive C with :

Code: Select all
$ export WINARCH=win32
$ wine ~/.wine-winmd5sum/drive_c/Program\ Files\ \(x86\)/winMd5Sum/WinMd5Sum.exe
wine: WINEARCH set to win32 but '/home/fitzcarraldo/.wine-winmd5sum' is a 64-bit installation.

So I wonder what will happen if I say this is a 64-bit version of Windows:

Code: Select all
$ export WINEARCH=win64
$ wine ~/.wine-winmd5sum/drive_c/Program\ Files\ \(x86\)/winMd5Sum/WinMd5Sum.exe
wine: WINEARCH set to win64 but '/home/fitzcarraldo/.wine-winmd5sum' is a 32-bit installation.
err:process:start_wineboot failed to start wineboot, err 1359
wine: WINEARCH set to win64 but '/home/fitzcarraldo/.wine-winmd5sum' is a 32-bit installation.

The 32-bit Windows application ran OK, despite an error message. And notice that, this time, WINE tells me that the WINE directory is a 32-bit installation! But I specificed a WINEARCH of win64. :roll:

So I decided to uninstall the application using the application's Uninstaller in the the WINE menu from Kickoff, and then reinstall it:

Code: Select all
$ cd ..
$ pwd
/home/fitzcarraldo
$ rm -rf .wine-winmd5sum
$ export WINEPREFIX=$HOME/.wine-winmd5sum
$ export WINEARCH=win32
$ winecfg
wine: created the configuration directory '/home/fitzcarraldo/.wine-winmd5sum'
fixme:system:SetProcessDPIAware stub!
fixme:iphlpapi:NotifyAddrChange (Handle 0x90fe914, overlapped 0x90fe918): stub
wine: configuration in '/home/fitzcarraldo/.wine-winmd5sum' has been updated.
fixme:mixer:ALSA_MixerInit No master control found on HD-Audio Generic, disabling mixer
fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
$ cd .wine-winmd5sum/drive_c/
$ cp ~/Downloads/Install-winMd5Sum.exe .
$ # Now I'm going to install the 32-bit Windows application:
$ wine ./Install-winMd5Sum.exe
$ # It installed OK. Now I'm going to run the application:
$ cd Program\ Files/winMd5Sum/
$ wine ./winMd5Sum.exe
$ # It worked again.
$

It worked again.
:scratch:

I bet that if I reboot it will give the error message again, though. I'll power down now and try again tomorrow.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Matte88 » Tue Jan 18, 2011 21:13

Installing wine from Portage with -win64 USE flag solved my issue! :alien:
Image
When I became the sun,
I shone life into the man's hearts.
User avatar
Matte88
Technological Hen
 
Posts: 399
Joined: Wed Dec 29, 2010 14:37
Location: @/etc/entropy/repositories.conf.d/entropy_sabayon-limbo

Re: Wine: WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Wed Jan 19, 2011 7:44

OK, I know why I had those results yesterday: it was a consequence of my 'finger trouble', resulting in my not assigning WINEARCH=win32 in my first experiment.

If I have WINE built with both win32 and win64 USE flags, if I don't assign WINEARCH=win32 and install a 32-bit Windows application then WINE creates a $WINEPREFIX/Program Files (86)/ directory as well a $WINEPREFIX/Program Files/ directory, and installs the 32-bit Windows application's directory under $WINEPREFIX/Program Files (86)/.

If I have WINE built with both win32 and win64 USE flags, if I do assign WINEARCH=win32 and install a 32-bit Windows application then WINE does not create a $WINEPREFIX/Program Files (86)/ directory, only a $WINEPREFIX/Program Files/ directory, and installs the 32-bit Windows application's directory under $WINEPREFIX/Program Files/. In this case I do not have any error messages and no problems running the 32-bit application. As evidence, below I show what happens when I install a 32-bit Windows application, run it successfully, reboot and run it successfully again.

Code: Select all
fitzcarraldo@meshedgedx ~ $ cd
fitzcarraldo@meshedgedx ~ $ pwd
/home/fitzcarraldo
fitzcarraldo@meshedgedx ~ $ rm -rf .wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEPREFIX=$HOME/.wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEARCH=win32
fitzcarraldo@meshedgedx ~ $ winecfg
wine: created the configuration directory '/home/fitzcarraldo/.wine-winmd5sum'
fixme:system:SetProcessDPIAware stub!
fixme:iphlpapi:NotifyAddrChange (Handle 0x90fe914, overlapped 0x90fe918): stub
wine: configuration in '/home/fitzcarraldo/.wine-winmd5sum' has been updated.
fixme:mixer:ALSA_MixerInit No master control found on HD-Audio Generic, disabling mixer
fitzcarraldo@meshedgedx ~ $ cd .wine-winmd5sum/drive_c/
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ cp ~/Downloads/Install-winMd5Sum.exe .
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # Now I'm going to install the 32-bit Windows application:
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ wine ./Install-winMd5Sum.exe
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # It installed OK. Now I'm going to run the application:
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ ls
Install-winMd5Sum.exe  Program Files  users  windows
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ ls Program\ Files/
Common Files  Internet Explorer  winMd5Sum
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ wine ./Program\ Files/winMd5Sum/winMd5Sum.exe
fitzcarraldo@meshedgedx ~/.wine-winmd5sum/drive_c $ # It works.

Reboot.

Code: Select all
fitzcarraldo@meshedgedx ~ $ cd
fitzcarraldo@meshedgedx ~ $ pwd
/home/fitzcarraldo
fitzcarraldo@meshedgedx ~ $ export WINEPREFIX=$HOME/.wine-winmd5sum
fitzcarraldo@meshedgedx ~ $ export WINEARCH=win32
fitzcarraldo@meshedgedx ~ $ wine .wine-winmd5sum/drive_c/Program\ Files/winMd5Sum/winMd5Sum.exe
fitzcarraldo@meshedgedx ~ $ # It works.

I don't have a 64-bit Windows application to try, but WINE would also install that under $WINEPREFIX/drive_c/Program\ Files/ and I assume it would coexist with any 32-bit applications' executables there.

So, in summary, I don't have the problem that you have with multilib 64-bit WINE; I can run 32-bit applications if I export WINEARCH=win32 first.

However, as the number of 64-bit Windows applications seems to be few and far between, the workaround of building WINE to run only 32-bit applications by using USE="win32 -win64" is adequate.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Workaround for WINEARCH=win32 not working in SL amd64

Postby Matte88 » Thu Jan 20, 2011 11:37

The key issue now remains: why did you managed setting WINARCH=32, but not me?... :shock:
Image
When I became the sun,
I shone life into the man's hearts.
User avatar
Matte88
Technological Hen
 
Posts: 399
Joined: Wed Dec 29, 2010 14:37
Location: @/etc/entropy/repositories.conf.d/entropy_sabayon-limbo

Re: Workaround for WINEARCH=win32 not working in SL amd64

Postby Fitzcarraldo » Thu Jan 20, 2011 12:31

Well, I'm not sure if it is the reason, but I'm using WINE version 1.3.11 which is not in Entropy yet (I installed it via Portage). Also, my USE flags may be different to yours. Here are mine for WINE at the moment:

Installed versions: 1.3.11!t(15:37:56 18/01/11)(X alsa cups dbus gecko gnutls gsm jack jpeg lcms ldap mp3 ncurses openal opengl perl png pulseaudio ssl threads truetype win32 win64 xinerama xml -capi -custom-cflags -esd -fontconfig -gphoto2 -gstreamer -hal -nas -nls -oss -samba -scanner -test -xcomposite)
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7335
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Next

Return to The Gamers Shed

Who is online

Users browsing this forum: No registered users and 2 guests

cron