Trying to build conformance tests on Windows Me with msdev6, but got the following link errors:
safearray.obj : error LNK2001: unresolved external symbol _IID_IStorage safearray.obj : error LNK2001: unresolved external symbol _IID_IDispatch safearray.obj : error LNK2001: unresolved external symbol _IID_IUnknown Output\Win32_Wine_Headers/oleaut32_test.exe : fatal error LNK1120: 3 unresolved externals
Any suggestions? (Sorry to act so helpless...)
FWIW, here's the full recipe I followed:
On linux:
cd ~/wine msvcmaker --no-wine find *.dsp *.dsw include */*/tests -name CVS -prune -o -type f -not -name '*.o' -not -name '*.so' -not -name '*.ok' -not -name '*.spec.c' -print | cpio -oH tar | gzip > wtest.tgz sudo cp wtest.tgz /dos/c reboot
On Windows Me: (install msvc6) (install cygwin)
cd c:/ mkdir wtest cd wtest tar -xzvf ../wtest.tgz
start c:/wtest/wineruntests.dsw rebuild all
Found the missing step. I needed to do Build / Set Active Configuration / "wineruntests - Win32 MSVC Headers" before building. That lets me get to the next set of errors: c:\wtest\dlls\ntdll\tests\error.c(23) : fatal error C1083: Cannot open include file: 'ntstatus.h': No such file or directory c:\wtest\dlls\ntdll\tests\rtlbitmap.c(26) : fatal error C1083: Cannot open include file: 'winternl.h': No such file or directory
This happens even after installing service pack 5 for msvc6.
To work around this, I removed ntdll from wineruntests_files (makes sense, since I'm building on windows Me, I suppose).
Haven't finished building yet, but thought I'd at least post these two workarounds. - Dan
On Sun, 5 Jan 2003, Dan Kegel wrote: [...]
To work around this, I removed ntdll from wineruntests_files (makes sense, since I'm building on windows Me, I suppose).
wineruntests does not compile. The reason is that the ntdll tests only compile with the Wine headers while many other tests only compile with the MSVC headers. (That's why a batch file is more practical for running all the tests)
So wineruntests should probably be removed.
Francois Gouget wrote:
On Sun, 5 Jan 2003, Dan Kegel wrote: [...]
To work around this, I removed ntdll from wineruntests_files (makes sense, since I'm building on windows Me, I suppose).
wineruntests does not compile. The reason is that the ntdll tests only compile with the Wine headers while many other tests only compile with the MSVC headers. (That's why a batch file is more practical for running all the tests)
So wineruntests should probably be removed.
OK, but how do you compile all the tests then? wineruntests is the only project that invokes all the test subprojects.
Once I removed ntdll, wineruntests compiled fine. Maybe you just meant "ntdll should be removed from wineruntests"? - Dan
On Sun, 5 Jan 2003, Dan Kegel wrote: [...]
OK, but how do you compile all the tests then? wineruntests is the only project that invokes all the test subprojects.
I load winetest.dsw. This file contains one project per test with two configurations each, and also wineruntests.
You can then select an individual project+configuration and compile it. When I want to recompile everything I go to Build -> Batch Build and: * select all 'Win32 MSVC Headers' Items * except for ntdll for which I select 'Win32 Wine Headers' * and for wineruntests which I deselect completely
Then if I want to run all the tests I use my batch script.
Francois Gouget wrote:
On Sun, 5 Jan 2003, Dan Kegel wrote: [...]
OK, but how do you compile all the tests then? wineruntests is the only project that invokes all the test subprojects.
I load winetest.dsw. This file contains one project per test with two configurations each, and also wineruntests.
You can then select an individual project+configuration and compile it. When I want to recompile everything I go to Build -> Batch Build and:
- select all 'Win32 MSVC Headers' Items
- except for ntdll for which I select 'Win32 Wine Headers'
- and for wineruntests which I deselect completely
Hmm. Might be simpler to do the following: * remove ntdll from wineruntests * select "Win32 MSVC Headers" for wineruntests * select "Win32 Wine Headers" for ntdll That's less clicking...
Then if I want to run all the tests I use my batch script.
What batch script is that? Is it in cvs? - Dan
Dan Kegel wrote:
Francois Gouget wrote:
I load winetest.dsw. This file contains one project per test with two configurations each, and also wineruntests.
You can then select an individual project+configuration and compile it. When I want to recompile everything I go to Build -> Batch Build and:
- select all 'Win32 MSVC Headers' Items
- except for ntdll for which I select 'Win32 Wine Headers'
- and for wineruntests which I deselect completely
Hmm. Might be simpler to do the following:
- remove ntdll from wineruntests
- select "Win32 MSVC Headers" for wineruntests
- select "Win32 Wine Headers" for ntdll
That's less clicking...
Then if I want to run all the tests I use my batch script.
What batch script is that? Is it in cvs?
Oh, you're talking about the batch file in http://fgouget.free.fr/wine/winetests.zip I guess I could use that, though it'd be nice if it were in cvs, or automatically generated. In order to use it, I'll have to write a script that moves all the newly built .exe's to the top level directory.
I guess I'm aiming at making it easier for Windows folks to grab the source for the tests from CVS and build them themselves under Windows. Furthermore, I'm hoping to write scripts to continuously update from cvs and run the regression tests, all on windows. (It'll be interesting making that work noninteractively.)
- Dan
On Sun, 5 Jan 2003, Dan Kegel wrote: [...]
Oh, you're talking about the batch file in http://fgouget.free.fr/wine/winetests.zip
Yep, that's the one.
I guess I could use that, though it'd be nice if it were in cvs, or automatically generated.
Yes, it would be nice to generate it automatically... from msvcmaker for instance...
In order to use it, I'll have to write a script that moves all the newly built .exe's to the top level directory.
You can adapt the following script which I use to generate the winetests.zip file (but it's a very ad-hoc script):
#!/bin/sh
rm winetests.zip zip -j winetests.zip \ dlls/advapi32/tests/Output/Win32_MSVC_Headers/advapi32_test.exe \ dlls/dsound/tests/Output/Win32_MSVC_Headers/dsound_test.exe \ dlls/gdi/tests/Output/Win32_MSVC_Headers/gdi32_test.exe \ dlls/kernel/tests/Output/Win32_MSVC_Headers/kernel32_test.exe \ dlls/msvcrt/tests/Output/Win32_MSVC_Headers/msvcrt_test.exe \ dlls/netapi32/tests/Output/Win32_MSVC_Headers/netapi32_test.exe \ dlls/ntdll/tests/Output/Win32_Wine_Headers/ntdll_test.exe \ dlls/oleaut32/tests/Output/Win32_MSVC_Headers/oleaut32_test.exe \ dlls/rpcrt4/tests/Output/Win32_MSVC_Headers/rpcrt4_test.exe \ dlls/shell32/tests/Output/Win32_MSVC_Headers/shell32_test.exe \ dlls/shlwapi/tests/Output/Win32_MSVC_Headers/shlwapi_test.exe \ dlls/urlmon/tests/Output/Win32_MSVC_Headers/urlmon_test.exe \ dlls/user/tests/Output/Win32_MSVC_Headers/user32_test.exe \ dlls/wininet/tests/Output/Win32_MSVC_Headers/wininet_test.exe \ dlls/winmm/tests/Output/Win32_MSVC_Headers/winmm_test.exe \ dlls/winsock/tests/Output/Win32_MSVC_Headers/ws2_32_test.exe \ runtests.bat
On Sun, Jan 05, 2003 at 07:18:05PM -0800, Dan Kegel wrote:
<snip>
I guess I'm aiming at making it easier for Windows folks to grab the source for the tests from CVS and build them themselves under Windows. Furthermore, I'm hoping to write scripts to continuously update from cvs and run the regression tests, all on windows. (It'll be interesting making that work noninteractively.)
How about something inspired by tinderbox? It continuously checks out from CVS, builds, and mails the results, all of that noninteractively.
See tinderbox.mozilla.org, tinderbox.blender.org and http://lxr.mozilla.org/mozilla/source/webtools/.
LarstiQ
LarstiQ wrote:
On Sun, Jan 05, 2003 at 07:18:05PM -0800, Dan Kegel wrote:
<snip>
I guess I'm aiming at making it easier for Windows folks to grab the source for the tests from CVS and build them themselves under Windows. Furthermore, I'm hoping to write scripts to continuously update from cvs and run the regression tests, all on windows. (It'll be interesting making that work noninteractively.)
How about something inspired by tinderbox? It continuously checks out from CVS, builds, and mails the results, all of that noninteractively.
See tinderbox.mozilla.org, tinderbox.blender.org and http://lxr.mozilla.org/mozilla/source/webtools/.
Yes, exactly. I didn't say "tinderbox" because I wasn't sure how much of that I could reuse. - Dan
On Thu, 9 Jan 2003, LarstiQ wrote:
On Sun, Jan 05, 2003 at 07:18:05PM -0800, Dan Kegel wrote:
grab the source for the tests from CVS and build them themselves under Windows. Furthermore, I'm hoping to write scripts to continuously update from cvs and run the regression tests, all on windows. (It'll be interesting making that work noninteractively.)
How about something inspired by tinderbox? It continuously checks out from CVS, builds, and mails the results, all of that noninteractively.
I'm in the process of extending WRT [1] to include running the conformance tests on as many Windows platforms as I can get my hands on (which, in theory should be more-or-less all of them).
I didn't want to say anything until I knew it was feasible, but I've got most of it figured out ... it just needs setting up (oh and the conformance tests to cross-compile with mingw ;^)
[1] - http://www.astro.gla.ac.uk/users/paulm/WRT/wrt.php
---- Paul Millar
Paul Millar wrote:
I'm in the process of extending WRT [1] to include running the conformance tests on as many Windows platforms as I can get my hands on (which, in theory should be more-or-less all of them).
I didn't want to say anything until I knew it was feasible, but I've got most of it figured out ... it just needs setting up (oh and the conformance tests to cross-compile with mingw ;^)
Wow. Does it really make sense to test against windows 2.0 or 3.0 anymore? I recall Windows itself was pretty much a joke and terribly unstable until windows 3.1...
Are the WRT sources in CVS? - Dan
On Thu, 9 Jan 2003, Dan Kegel wrote:
Paul Millar wrote:
Wow. Does it really make sense to test against windows 2.0 or 3.0 anymore? I recall Windows itself was pretty much a joke and terribly unstable until windows 3.1...
Probably not, but I thought: what the hell :^)
Are the WRT sources in CVS?
Well, they're in _a_ cvs (here in Glasgow) but not _the_ winehq cvs. They're currently an embarrassing hackage of bash scripts with some customised code to do the bits sed/awk/... couldn't easily do. Oh, and some PHP to act as a front end.
But, if anyone wants to have a look and/or help out, I'll try and figure out how to get the code out on the web, or something.
---- Paul Millar
Paul Millar wrote:
On Thu, 9 Jan 2003, Dan Kegel wrote:
Paul Millar wrote:
Wow. Does it really make sense to test against windows 2.0 or 3.0 anymore? I recall Windows itself was pretty much a joke and terribly unstable until windows 3.1...
Probably not, but I thought: what the hell :^)
Also, *what tests* are you running on those versions of ms-windows? AFAIK, all our tests are win32...
Are the WRT sources in CVS?
Well, they're in _a_ cvs (here in Glasgow) but not _the_ winehq cvs. They're currently an embarrassing hackage of bash scripts with some customised code to do the bits sed/awk/... couldn't easily do. Oh, and some PHP to act as a front end.
But, if anyone wants to have a look and/or help out, I'll try and figure out how to get the code out on the web, or something.
Please do... that way others can run their own copies of your wine tinderbox, which will give us some assurance one will always be around! - Dan
On Mon, 13 Jan 2003, Dan Kegel wrote: [...]
Also, *what tests* are you running on those versions of ms-windows? AFAIK, all our tests are win32...
That also had me confused for a while. In fact none of the tests are running on Windows. They are all running on Wine and Wine is told to emulate Win95, Win98, etc.
It's not that it not useful, it is. It's just that at first I hoped it was running the tests on the real thing and reported the results. But I guess that was a bit unrealistic.
If I am off-track here then there is something wrong since apparently none of the tests fails and many are still known to fail on Windows...
Francois Gouget wrote:
On Mon, 13 Jan 2003, Dan Kegel wrote: [...]
Also, *what tests* are you running on those versions of ms-windows? AFAIK, all our tests are win32...
That also had me confused for a while. In fact none of the tests are running on Windows. They are all running on Wine and Wine is told to emulate Win95, Win98, etc.
*oh*. Your page should say that clearly, then, and should also mention what real operating system you're running on.
Could your scripts be used to automate building or running the wine tests under real Windows (perhaps with the help of cygwin and msvc6)? - Dan
On Tue, 14 Jan 2003, Dan Kegel wrote:
*oh*. Your page should say that clearly, then, and should also mention what real operating system you're running on.
Yep, looking at the wording it is a little vague. I'll update the page with better chosen words in a mo.
Could your scripts be used to automate building or running the wine tests under real Windows (perhaps with the help of cygwin and msvc6)?
Well, I've been trying to get mingw to work. Once that's up and going it should be _fairly_ straight forward to add real Windows testing. (famous last words ;)
---- Paul Millar
On Tue, 14 Jan 2003, Francois Gouget wrote:
On Mon, 13 Jan 2003, Dan Kegel wrote: [...]
Also, *what tests* are you running on those versions of ms-windows? AFAIK, all our tests are win32...
Sorry, I missed that bit. Nope, none of the tests are running on a Windows platform at the moment, they're all running on Wine.
That also had me confused for a while. In fact none of the tests are running on Windows. They are all running on Wine and Wine is told to emulate Win95, Win98, etc.
Yes, they're all running on Wine. The original idea was to run a set of tests (at the moment, just the conformance tests) every time CVS changes. That way problems are spotted as soon as they happen.
When Francois discovered that the conformance tests aren't actually testing real Windows behaviour I figured there was another, deeper problem: not so much fixing the broken tests but keeping them fixed.
I've been working on adding that functionality to WRT so that it also checks the tests on various Windows platforms every time the tests change. I'm currently having trouble building the MinGW-cross compiler, but hopefully once that's fixed I should be able to get things going :)
It's not that it not useful, it is. It's just that at first I hoped it was running the tests on the real thing and reported the results. But I guess that was a bit unrealistic.
With a bit of luck the tests should be up "soon".
---- Paul Millar
On Sun, Jan 05, 2003 at 12:13:26PM -0800, Dan Kegel wrote:
Trying to build conformance tests on Windows Me with msdev6, but got the following link errors:
safearray.obj : error LNK2001: unresolved external symbol _IID_IStorage safearray.obj : error LNK2001: unresolved external symbol _IID_IDispatch safearray.obj : error LNK2001: unresolved external symbol _IID_IUnknown Output\Win32_Wine_Headers/oleaut32_test.exe : fatal error LNK1120: 3 unresolved externals
Any suggestions? (Sorry to act so helpless...)
Hmm, should be linked against the GUID library. No clue how to do that. Or we could define the IIDs inline again.
Ciao, Marcus