From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LU6jR-0006nz-BB for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:53:29 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LU6jQ-0006nn-Ll for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:53:29 -0500 Received: from [199.232.76.173] (port=54421 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU6jQ-0006nk-Ht for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:53:28 -0500 Received: from mailout.artfiles.de ([80.252.97.80]:41924) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LU6jQ-0003Pw-3S for qemu-devel@nongnu.org; Mon, 02 Feb 2009 16:53:28 -0500 Received: from [77.128.15.90] (helo=[192.168.0.4]) auth=rr@bttr-software.de by mailout.artfiles.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) id 1LU6jF-0005gj-62 for qemu-devel@nongnu.org; Mon, 02 Feb 2009 22:53:17 +0100 Message-ID: <49876B4C.9090806@bttr-software.de> Date: Mon, 02 Feb 2009 22:53:16 +0100 From: Robert Riebisch MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] QEMU SVN on Windows 2000 :-( Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi! Unfortunately Win32 binaries built from QEMU SVN don't run on Windows 2000 anymore, because of missing DLL entry points in `ws2_32.dll'. With the introduction of IPv6 QEMU relies on the presence of getaddrinfo(), getnameinfo(), and freeaddrinfo(). This is OK for Windows XP or later, but not for Windows 2000. >>From : *** *Support for getaddrinfo on older versions of Windows* The getaddrinfo function was added to the Ws2_32.dll on Windows XP and later. To execute an application that uses this function on earlier versions of Windows, then you need to include the Ws2tcpip.h and Wspiapi.h files. When the Wspiapi.h include file is added, the getaddrinfo function is defined to the WspiapiGetAddrInfo inline function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo function is implemented in such a way that if the Ws2_32.dll or the Wship6.dll (the file containing getaddrinfo in the IPv6 Technology Preview for Windows 2000) does not include getaddrinfo, then a version of getaddrinfo is implemented inline based on code in the Wspiapi.h header file. This inline code will be used on older Windows platforms that do not natively support the getaddrinfo function. The IPv6 protocol is supported on Windows 2000 when the IPv6 Technology Preview for Windows 2000 is installed. Otherwise getaddrinfo support on versions of Windows earlier than Windows XP is limited to handling IPv4 name resolution. *** This stupid little patch works for me, but it requires copyrighted file `Wspiapi.h' from MSVC2005, because MinGW doesn't provide such a file. I've tested this on Windows 2000 only with IPv4. Better solutions are highly appreciated. *** --- qemu-sockets.c.orig Wed Jan 14 19:34:22 2009 +++ qemu-sockets.c Mon Feb 02 22:04:42 2009 @@ -22,6 +22,9 @@ #include "qemu_socket.h" #include "qemu-common.h" /* for qemu_isdigit */ +#define _inline __inline /* circumvent header file issue */ +#include + #ifndef AI_ADDRCONFIG # define AI_ADDRCONFIG 0 #endif *** Signed-off-by: Robert Riebisch Robert Riebisch -- BTTR Software http://www.bttr-software.de/