Hello all, I am trying to get Microsoft SQL Server Management Studio to work flawlessly under Wine. For the most part I create and triage related bug reports, but recently I also started tinkering with code, specifically with comctl library, which I am most familiar with.
Back on subject. I thought I found a regression - on Wine 1.4 package downloaded from launchpad the "New query" button works fine, while on my compiled Wine it produces an error. So I did:
git reset --hard wine-1.4 make
and, surprisingly, I still had the problem with the compiled version. However after some combination of deleting leftover files, running make clean, make depend and make the button started working, so I started bisecting, hoping for the best. At some point I started getting bad versions, and every subsequent compile was bad - even after I ended bisecting and returned to wine-1.4, the button still did not work (and it still works under packaged Wine - I use the same install for all tests). This time make clean && make depend && make did not help.
I am comparing what I did to [1], and the only difference I see is that I did not run configure before make. I'll try doing that later, but I think this shouldn't affect the outcome. Any other ideas?
Also [1] suggests to set CC="ccache gcc -m32" on amd64 machines. I did that and when doing make I noticed that many lines start with: ccache gcc -m32 -m32 I guess that CC="ccache gcc" would be enough - but I didn't test that yet.
Also I noticed that running parallel make (make -j) is never mentioned on [1]. Is there any reason I shouldn't use it?
Daniel
On Thu, Apr 12, 2012 at 10:23:07AM +0200, Daniel Jeliński wrote:
Hello all, I am trying to get Microsoft SQL Server Management Studio to work flawlessly under Wine. For the most part I create and triage related bug reports, but recently I also started tinkering with code, specifically with comctl library, which I am most familiar with.
Back on subject. I thought I found a regression - on Wine 1.4 package downloaded from launchpad the "New query" button works fine, while on my compiled Wine it produces an error. So I did:
git reset --hard wine-1.4 make
and, surprisingly, I still had the problem with the compiled version. However after some combination of deleting leftover files, running make clean, make depend and make the button started working, so I started bisecting, hoping for the best. At some point I started getting bad versions, and every subsequent compile was bad - even after I ended bisecting and returned to wine-1.4, the button still did not work (and it still works under packaged Wine - I use the same install for all tests). This time make clean && make depend && make did not help.
I am comparing what I did to [1], and the only difference I see is that I did not run configure before make. I'll try doing that later, but I think this shouldn't affect the outcome. Any other ideas?
Also [1] suggests to set CC="ccache gcc -m32" on amd64 machines. I did that and when doing make I noticed that many lines start with: ccache gcc -m32 -m32 I guess that CC="ccache gcc" would be enough - but I didn't test that yet.
Also I noticed that running parallel make (make -j) is never mentioned on [1]. Is there any reason I shouldn't use it?
Did you "make clean" in between the bisect steps?
Especially going backwards during bisecting might be problematic.
Also if there is some specific in the created wineprefix it might be necessary to recreate the wineprefix during every test :/
Ciao, Marcus
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
12.04.2012 12:23, Daniel Jeliński wrote:
... This time make clean && make depend && make did not help.
I had hit the problems like you describe several times while doing bisecting. After a lot of trial and error testing I had finally come up with a conclusion that to get clean and determined bisect results I have to use out-of-tree build as it is required to delete all the contents of the target build directory between each and every build. Same stands for WINEPREFIX for the most part, unless it is known that the problem is not related to the WINEPREFIX contents (registry, e.t.c.). In case if in doubt it is better to use fresh prefix each run during bisect process.
So, to summarize, here is the approx. process I use to do bisecting:
1. Determine upper and lower commits bounds to start bisect with. 2. Check out each of them and compare the output of ./configure --help. Check if the are any differences between them. If there are differences - check the commit log for changes to ./configure done between commits in question and create a separate "invoke configure with a set of options" script. These scripts would be used later. If there are no significant differences in configure invocation options - create a single script. 3. Proceed with bisecting, using the following sequence # WINEBLDDIR=<full path to out-of-tree build directory to use> # MYWINEPRFX=<full path to the temporarily "testing" wineprefix> # [ -d $WINEBLDDIR ] && rm -rf $WINEBLDDIR # [ -d $MYWINEPRFX ] && rm -rf $MYWINEPRFX # mkdir -p $WINEBLDDIR && cd $WINEBLDDIR # <execute configure-invocation-script relevant to current configure> # make -j8 # WINEPREFIX=$MYWINEPRFX ./wine <blablabla>
I am comparing what I did to [1], and the only difference I see is that I did not run configure before make. I'll try doing that later, but I think this shouldn't affect the outcome. Any other ideas?
Also I noticed that running parallel make (make -j) is never mentioned on [1]. Is there any reason I shouldn't use it?
I've been using parallel build with WINE for several years up till now and newer had had any troubles with that. Using CCACHE also seems to be harmful, so I use it to speed up the bisecting process significantly.
- -- Best regards, Alexey Loukianov mailto:mooroon2@mail.ru System Engineer, Mob.:+7(926)218-1320 *nix Specialist
Marcus, Alexey, thank you for your ideas. I just did several builds to see how to make things work. Here's what I got: make clean && make - does not work (the problem persists) make distclean && ./configure && make - same as above git clean -xdf && ./configure && make - this one finally worked. I'm not sure what's the difference between the above, but I'm going to stick to git clean for the time being.
Thanks again Daniel
On 4/12/12 1:23 AM, Daniel Jeliński wrote:
Hello all, I am trying to get Microsoft SQL Server Management Studio to work flawlessly under Wine. For the most part I create and triage related bug reports, but recently I also started tinkering with code, specifically with comctl library, which I am most familiar with.
Back on subject. I thought I found a regression - on Wine 1.4 package downloaded from launchpad the "New query" button works fine, while on my compiled Wine it produces an error. So I did:
git reset --hard wine-1.4 make
and, surprisingly, I still had the problem with the compiled version. However after some combination of deleting leftover files, running make clean, make depend and make the button started working, so I started bisecting, hoping for the best. At some point I started getting bad versions, and every subsequent compile was bad - even after I ended bisecting and returned to wine-1.4, the button still did not work (and it still works under packaged Wine - I use the same install for all tests). This time make clean && make depend && make did not help.
Packaged Wine might be different for a few reasons:
1) It is a hybrid 32+64 build, which you can't get in one step on Ubuntu 12.04 anymore 2) It uses GCC-4.5 (12.04 default is 4.6) 3) It has one small patch for fonts (shouldn't matter in your case) 4) It's built in a clean environment on the build daemon 5) It's installed and run out of tree.
Thanks, Scott Ritchie
2012/4/12 Scott Ritchie scott@open-vote.org:
On 4/12/12 1:23 AM, Daniel Jeliński wrote:
Hello all, I am trying to get Microsoft SQL Server Management Studio to work flawlessly under Wine. For the most part I create and triage related bug reports, but recently I also started tinkering with code, specifically with comctl library, which I am most familiar with.
Back on subject. I thought I found a regression - on Wine 1.4 package downloaded from launchpad the "New query" button works fine, while on my compiled Wine it produces an error. So I did:
git reset --hard wine-1.4 make
and, surprisingly, I still had the problem with the compiled version. However after some combination of deleting leftover files, running make clean, make depend and make the button started working, so I started bisecting, hoping for the best. At some point I started getting bad versions, and every subsequent compile was bad - even after I ended bisecting and returned to wine-1.4, the button still did not work (and it still works under packaged Wine - I use the same install for all tests). This time make clean && make depend && make did not help.
Packaged Wine might be different for a few reasons:
- It is a hybrid 32+64 build, which you can't get in one step on Ubuntu
12.04 anymore 2) It uses GCC-4.5 (12.04 default is 4.6) 3) It has one small patch for fonts (shouldn't matter in your case) 4) It's built in a clean environment on the build daemon 5) It's installed and run out of tree.
Thanks, Scott Ritchie
I eventually compiled a wine version that behaves like the packaged one - git clean did the trick. Also I'm still on 11.10 (waiting for a final release of 12.04).
By the way I've got the results of bisection. The first bad commit was "atl80: New dll.". I guess this won't be an easy fix...
Daniel
On Thu, Apr 12, 2012 at 16:58, Daniel Jelinski djelinski1@gmail.com wrote:
2012/4/12 Scott Ritchie scott@open-vote.org:
On 4/12/12 1:23 AM, Daniel Jeliński wrote:
Hello all, I am trying to get Microsoft SQL Server Management Studio to work flawlessly under Wine. For the most part I create and triage related bug reports, but recently I also started tinkering with code, specifically with comctl library, which I am most familiar with.
Back on subject. I thought I found a regression - on Wine 1.4 package downloaded from launchpad the "New query" button works fine, while on my compiled Wine it produces an error. So I did:
git reset --hard wine-1.4 make
and, surprisingly, I still had the problem with the compiled version. However after some combination of deleting leftover files, running make clean, make depend and make the button started working, so I started bisecting, hoping for the best. At some point I started getting bad versions, and every subsequent compile was bad - even after I ended bisecting and returned to wine-1.4, the button still did not work (and it still works under packaged Wine - I use the same install for all tests). This time make clean && make depend && make did not help.
Packaged Wine might be different for a few reasons:
- It is a hybrid 32+64 build, which you can't get in one step on Ubuntu
12.04 anymore 2) It uses GCC-4.5 (12.04 default is 4.6) 3) It has one small patch for fonts (shouldn't matter in your case) 4) It's built in a clean environment on the build daemon 5) It's installed and run out of tree.
Thanks, Scott Ritchie
I eventually compiled a wine version that behaves like the packaged one - git clean did the trick. Also I'm still on 11.10 (waiting for a final release of 12.04).
By the way I've got the results of bisection. The first bad commit was "atl80: New dll.". I guess this won't be an easy fix...
Disable the dll in winecfg (or use a native dll and set it to native, builtin).