lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Creating a "wine prefix" [Was: Creating a chroot for cross-bui


From: Greg Chicares
Subject: Re: [lmi] Creating a "wine prefix" [Was: Creating a chroot for cross-building lmi]
Date: Sun, 21 May 2017 16:06:06 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

On 2016-10-06 15:05, Greg Chicares wrote:
[...]
> After some experimenting, using
>   rm -rf ~/.wine
> to remove the "wine prefix" between trials, I've found that running this
> command (in the chroot, as the normal non-root user):
>   WINEDLLOVERRIDES=mscoree=d wine wineboot
> seems to initialize 'wine' properly with no interactive messagebox.

That didn't work immediately for the 64-bit msw build I'm working on,
because of a SEH problem. I thought of using sjlj instead, as a mere
expedient, but debian's mingw-w64 packages don't provide a choice of
EH model: the 64-bit binaries are SEH only. Fortunately, the problem
turned out to be in wine:
  https://bugs.winehq.org/show_bug.cgi?id=34254
  "fixed in 1.7.40"
and debian "jessie" provides wine-1.6.2, but "jessie-backports" has
  wine-1.8.7 (Debian 1.8.7-2~bpo8+1)

To use the backport:
  #root# vim /etc/apt/sources.list
add this line:
  deb http://ftp.debian.org/debian jessie-backports main
then
  #root# apt-get update
  #root# apt-get -t jessie-backports install wine

I reasoned that it would be best to shut down any running wine process
before proceeding, but none of these commands terminated everything:
  $wineboot --shutdown
  $wineboot --shutdown --end-session
  $wineboot --shutdown --force
  $wineboot --shutdown --kill
so I ended leftover wine processes directly.

Then I renamed my old ~/.wine directory (as well as ~/.wine64 , which
had been created for the old version of wine in order to run 64-bit
binaries), and ran the command quoted above:
  WINEDLLOVERRIDES=mscoree=d wine wineboot
which seemed to work perfectly.

This new version of wine runs lmi's unit tests correctly, even when
they test C++ exceptions. Incidentally, although it has only one
"wine prefix", ~/.wine , it runs both 64- and 32-bit binaries, and
it's no longer necessary to specify the architecture like this:
  WINEARCH=win64 wine 64-bit-msw-binary.exe
  ^^^^^^^^^^^^^^ <-- no longer needed




reply via email to

[Prev in Thread] Current Thread [Next in Thread]