Jump to content

Qemu 1.0.1 on Win2k


Recommended Posts

Hey there! :hello:

I haven't been using Qemu for a while. I've been trying out Qemu 1.0.1 from this page here and when I used Dependency Walker to look into one of these files, it won't execute on Windows 2000 or Windows XP RTM host by default as it is missing the following dependencies: freeaddrinfo, getaddrinfo and getnameinfo.

The three dependencies listed above are required to enable IPv6 internet support and Win2k/XP RTM doesn't have it.

I have a couple of questions to answer:

1 In order to compile Qemu 1.0.1 on Win2k, is there a way to replace freeaddrinfo with another Win2k compatible dependency? I already used a hex editor to replace getaddrinfo and getnameinfo with gethostname.

2. Is it also possible to compile Qemu 1.0.1 using Visual Studio 2005 or Visual Studio 2008?

Qemu hasn't been officially supported on Win2k since Qemu 0.9.1 back in 2008.

I also got word that Qemu 1.0.1's NAT doesn’t work and I'm wondering if there is also a way to get NAT working on Win2k without using the getaddrinfo and getnameinfo with gethostname IPv6 related dependencies. :(

Edited by ppgrainbow
Link to comment
Share on other sites


By the way, in order to quickly check dependencies create a .cmd file with this script and place it in a folder where the files concerned are and run it. It's not perfect but will report issues correctly in most cases. Copy depends.exe from Dependency Walker to %systemroot%\system32 before running it!

It's for Windows 2000 only.

@ECHO OFF
IF EXIST depends.txt DEL/Q depends.txt
FOR /F "tokens=* delims=*" %%I IN ('DIR/A-D/B') DO (
ECHO Checking %%I
DEPENDS.exe /C /OT:temp.txt %%I
FINDSTR/BR "\[.E.\] \[.\?.\]" temp.txt >NUL
IF !ERRORLEVEL! EQU 0 (
FOR /F "tokens=2 delims=[] " %%J IN ('FINDSTR/BR "\[.E.\]" temp.txt') DO (
IF /I NOT "%%J"=="MPR.DLL" IF /I NOT "%%J"=="DBGHELP.DLL" (
ECHO Dependecy issues found in %%I
ECHO.
ECHO.>>depends.txt
ECHO>>depends.txt %%I %%J
)
)
FOR /F "tokens=2 delims=[] " %%J IN ('FINDSTR/BR "\[.\?.\]" temp.txt') DO (
IF /I NOT "%%J"=="APPHELP.DLL" (
ECHO Dependency issues found in %%I
ECHO.
ECHO.>>depends.txt
ECHO>>depends.txt %%I needs %%J
)
)
)
)
DEL/Q temp.txt
ECHO.
IF EXIST depends.txt (
ECHO Finished.
) ELSE (
ECHO There are no dependency issues.
)
ECHO.
PAUSE

This is how it looks for Qemu files:

post-310716-0-20668700-1336856248_thumb.

Edited by tomasz86
Link to comment
Share on other sites

Thanks again. It looks like that the script to check for dependencies didn't correctly check for dependencies that don't exist on Win2k and getting a "There are no dependency issues." message instead of dependency issues found in (filename). :(

What am I doing wrong here?

Link to comment
Share on other sites

Hmm, could you tell me which file exactly it is? I'll try to check it in a standard W2K installation (without any unofficial kernels).

Any of the executable files including qemu-system-i386.exe which throws the freeaddrinfo, getaddrinfo and getnameinfo dependencies.

Link to comment
Share on other sites

Did you run the script under Windows 2000? :unsure:

I've just tried it in a VM and the output (depends.txt) looks like this:

qemu-img.exe WS2_32.DLL

qemu-io.exe WS2_32.DLL

qemu-system-alpha.exe WS2_32.DLL

qemu-system-arm.exe WS2_32.DLL

qemu-system-cris.exe WS2_32.DLL

qemu-system-i386.exe WS2_32.DLL

qemu-system-lm32.exe WS2_32.DLL

qemu-system-m68k.exe WS2_32.DLL

qemu-system-microblaze.exe WS2_32.DLL

qemu-system-microblazeel.exe WS2_32.DLL

qemu-system-mips.exe WS2_32.DLL

qemu-system-mips64.exe WS2_32.DLL

qemu-system-mips64el.exe WS2_32.DLL

qemu-system-mipsel.exe WS2_32.DLL

qemu-system-ppc.exe WS2_32.DLL

qemu-system-ppc64.exe WS2_32.DLL

qemu-system-ppcemb.exe WS2_32.DLL

qemu-system-s390x.exe WS2_32.DLL

qemu-system-sh4.exe WS2_32.DLL

qemu-system-sh4eb.exe WS2_32.DLL

qemu-system-sparc.exe WS2_32.DLL

qemu-system-sparc64.exe WS2_32.DLL

qemu-system-x86_64.exe WS2_32.DLL

qemu-system-xtensa.exe WS2_32.DLL

qemu-system-xtensaeb.exe WS2_32.DLL

It doesn't report which dependencies are missing but if you check each of them you'll see that they are the ones you're talking about (freeaddrinfo, getaddrinfo and getnameinfo in ws2_32.dll).

Assuming that you ran the script in Windows 2000... what language version of W2K do you use? Are you using Dependency Walker 2.2.6000?

Edited by tomasz86
Link to comment
Share on other sites

Yes, I did ran the script on Win2k and for some reason didn't report correctly with the exception of the missing dependencies in WS2_32.DLL. I'm using the US English language version of the OS, btw.

As for Dependency Walker, I'm using the latest version - version 2.2.6000 released on 2006-10-29.

Link to comment
Share on other sites

Yes, I did ran the script on Win2k and for some reason didn't report correctly with the exception of the missing dependencies in WS2_32.DLL.

Is "depends.txt" created at all?

Link to comment
Share on other sites

Yes, I did ran the script on Win2k and for some reason didn't report correctly with the exception of the missing dependencies in WS2_32.DLL.

Is "depends.txt" created at all?

The depends.txt file is not created at all. I did a search for that file on drives C: and D: and came up with nothing.

Link to comment
Share on other sites

Strange :blink:

So is your output similar to the one I uploaded in #4 (the commandline window)?

I've tested the script on two configurations (desktop & VM) and it worked fine on both of them.

Edited by tomasz86
Link to comment
Share on other sites

Strange :blink:

So is your output similar to the one I uploaded in #4 (the commandline window)?

I've tested the script on two configurations (desktop & VM) and it worked fine on both of them.

The output looks similar to the one that you uploaded in your fourth comment. The problem here is that none of the files are being able to detect dependencies that are missing.

Link to comment
Share on other sites

Hexediting qemu.exe (or any qemu executable) and replacing "freeaddrinfo","getaddrinfo", and "getnameinfo" with "gethostname" should work fine....at least it did last time I tried it.

KQemu isn't supported any more with later versions of Qemu only IIRC Qemu 0.9x supports it so you are really better off with Vmware Workstation 7/Player 4 (using blackwingcat patches) if you need speed.

AFAIK Vmware Workstation 8/Player 5 are not yet working on Windows 2000.

Edited by DosFreak
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...