LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware64 wine running a game results in wine crash (https://www.linuxquestions.org/questions/slackware-14/slackware64-wine-running-a-game-results-in-wine-crash-888182/)

Tux-Slack 06-24-2011 02:35 PM

Slackware64 wine running a game results in wine crash
 
Hello,

I have a problem running a game on a fresh Slackware64 install.
Slack version is 13.37
I've followed alien bobs instructions for a multilib environment from here:
http://connie.slackware.com/~alien/multilib/

And then used sbopkg to download and compile wine version 1.2.2, which went through just fine.
After that I grabbed cabextract from sbopkg and ran this:
wget http://kegel.com/wine/winetricks
sh winetricks d3dx9
To get the DX9.
But, when I try to run the game, this is the error I get:
Code:

fire@firestation:~/.wine/drive_c/LFS$ wine LFS
preloader: Warning: failed to reserve range 00010000-00110000
preloader: Warning: failed to reserve range 00010000-00110000
wine: Unhandled stack overflow at address 0x7efba2c5 (thread 002a), starting debugger...
err:seh:setup_exception_record stack overflow 844 bytes in thread 002a eip 7ef9fd07 esp 00240fe4 stack 0x240000-0x241000-0x340000

The game it self ran perfectly on the 32 bit version of Slackware, tested with 13.0. So now I think I'm missing some libs or something, but I have no clue which. So any help would be more than welcome!

Kind regards,
Thomas

kingbeowulf 06-24-2011 07:53 PM

Here are a few hints:
  1. Upgrade to the development newest development version. WINE 1.2.2 is OLD. The 1.3.x dev tree has a lot of fixes. I am running 1.4.21 with Civilization4 and more.
  2. Did you install the 32-bit video drivers for your GPU? The mesa-compat32 package includes a few, but not the proprietary ones.
  3. try running without 'winetricks d3dx9' as the current internal implementation works well (Civ4 and Oblivion)
  4. Have you checked the WINE AppDB?
  5. Saving the best for last: To compile WINE, you need to set the environment for Slackware64 multilib. When you run the standard wine.Slackbuild, you end up with WINE64. As ARCH=x86_64, I modified wine.Slackbuild to add
    Code:

    # Set up the 32bit enironment for multilib Slackware64
    if [ "$ARCH" = "x86_64" ]; then
        . /etc/profile.d/32dev.sh
    fi

    before the configure step to get a WINE32 that will run under Slackware64. See AlienBob's readme on compiling 32-bit code. sbopkg does NOT do this for you.

The error looks to me like you are trying to run a 32-bit program in 64-bit WINE. The LFS page says "Any version of Microsoft Windows, 32 or 64 bit" but that does NOT mean the game code is 64-bit. Windows 7 64bit for example is multilib and can run 32-bit programs (in fact try to find some..there are few) since MS had to do this for all the WinXP and Vista code out there. WINE is not miltilib.

willysr 06-24-2011 11:27 PM

FYI, 1.3.23 has just been released :)
Quote:

Support for stubless COM proxies on x86-64.
Builtin dxdiag now outputs real information.
Monochrome bitmap format in the DIB engine.
Beginnings of a true shell Explorer builtin.
A number of new D3DX9 functions.
More support for Indic text shaping.
Various bug fixes.


Tux-Slack 06-25-2011 03:23 AM

Quote:

Originally Posted by beowulf999 (Post 4395016)
Here are a few hints:[*]Upgrade to the development newest development version. WINE 1.2.2 is OLD. The 1.3.x dev tree has a lot of fixes. I am running 1.4.21 with Civilization4 and more.

It should run just fine on 1.2.2, as I ran it before on 1.2.1 I believe was the version. But if the other tricks bellow wont work, I'll try updating to a new version.
Quote:

[*]Did you install the 32-bit video drivers for your GPU? The mesa-compat32 package includes a few, but not the proprietary ones.
Indeed I haven't. I downloaded the 64bit version of nvidias proprietary drivers. But if I install the 32bit version over 64bit, won't it override the 64bit driver? Or how do I install them side by side?
Quote:

[*]try running without 'winetricks d3dx9' as the current internal implementation works well (Civ4 and Oblivion)
Tried that too. Same error. And without winetricks d3dx9 it didn't work on the 32bit installation of Slack.
Quote:

[*]Have you checked the WINE AppDB?
Yes, rated Gold.
Quote:

[*]Saving the best for last: To compile WINE, you need to set the environment for Slackware64 multilib. When you run the standard wine.Slackbuild, you end up with WINE64. As ARCH=x86_64, I modified wine.Slackbuild to add
Code:

# Set up the 32bit enironment for multilib Slackware64
if [ "$ARCH" = "x86_64" ]; then
    . /etc/profile.d/32dev.sh
fi

before the configure step to get a WINE32 that will run under Slackware64. See AlienBob's readme on compiling 32-bit code. sbopkg does NOT do this for you.
I thought that could be the problem, just wanted to make sure before I start compiling again. I do have a package named wine-1.2.2_x86_64.txz now, so I guess I compiled WINE64.

Thank you for the tips, I'll try them and get back to you.

kingbeowulf 06-25-2011 02:23 PM

Quote:

It should run just fine on 1.2.2, as I ran it before on 1.2.1 I believe was the version.
Normally yes, but given the rapid pace of WINE development, I've seen some odd regressions pop up that then suddenly vanish on the next version.
Quote:

Indeed I haven't. I downloaded the 64bit version of nvidias proprietary drivers. But if I install the 32bit version over 64bit, won't it override the 64bit driver? Or how do I install them side by side?
The NVIDIA-*-x86_64.run installer (or via Slackbuilds.org, although I am still fixing a few bugs in the slackbuilds) gives you the option to install 32-bit support: 64-bit goes to /usr/lib64 and 32-bit goes to /usr/lib as this is the standard. The 32-bit support libs are REQUIRED to run WINE.
Quote:

I thought that could be the problem, just wanted to make sure before I start compiling again. I do have a package named wine-1.2.2_x86_64.txz now, so I guess I compiled WINE64.
The package will still be called wine-1.2.2_x86_64.txz when you compile as 32-bit via setting up 32dev.sh since you ARE on a 64-bit system. After installing the multilib stuff, the default compile environment is still x86_64 until you tell it otherwise; that's why I place that stanza into the slackbuild because I keep forgetting!

Quote:

FYI, 1.3.23 has just been released
lol, willysr. I just noticed that. I've been running WINE since 0.8x and man the dev pace is blistering. 10 years to 1.0! and still ripping along at a good clip.:hattip:
I think my favorite 1.3.23 bug fix is this one:
Code:

  27465  wine iexplore.exe crashes when opening http://forums.winehq.org/
Now THAT is attention to detail!:D

Tux-Slack 06-27-2011 05:05 PM

Confirming that it now works perfectly. Just needed to set up environment before compiling wine. Thank you for your help.


All times are GMT -5. The time now is 11:32 PM.