Hi,
 
I am facing issue compiling latest postgresql-8.3.4 code on windows .I 
installed Visual Studio 2005 Express and Microsoft windows SDK latest v6.1 on 
windows XP (SP2) as described by 
http://www.postgresql.org/docs/8.3/static/install-win32-full.html and trying to 
build postgresql-8.3.4, it is giving the following error message i.e.
.\src\backend\libpq\pqcomm.c(389): error C2065: 'IPPROTO_IPV6' : undeclared 
identifier
 
Microsoft SDKs\Windows\v6.1\Include\ws2def.h (407) :
IPPROTO_IPV6 requires _WIN32_WINNT grater than 0x0500 i.e.
 
#if(_WIN32_WINNT >= 0x0501)
    IPPROTO_IPV6          = 41, // IPv6 header
…
…
#endif//(_WIN32_WINNT >= 0x0501)
src\include\pg_config_os.h  (7):
That is being copied from src\include\port\win32.h . It set  _WIN32_WINNT to 
0x0500 i.e.
#define _WIN32_WINNT 0x0500
 
I removed the following line from src\include\port\win32.h(7) 
#define _WIN32_WINNT 0x0500
and it started building successfully and regression is working fine too.
 
In the Visual Studio 2005 Professional "IPPROTO_IPV6" was defined in WinSock2.h 
 and  it is without  any condition. In the latest SDK v6.1 condition 
_WIN32_WINNT >= 0x0501  is added around IPPROTO_IPV6 ( 
http://msdn.microsoft.com/en-us/library/ms738574(VS.85).aspx ).IPV6_V6ONLY is 
also used in the .\src\backend\libpq\pqcomm.c(386) that is for Vista or 
Win2008. It means that IPV6 cannot be used for building Windows 2k 
(_WIN32_WINNT == 0x0500) applications when using Windows SDK v6.1 or higher.
 
http://www.microsoft.com/technet/network/ipv6/ipv6faq.mspx
Microsoft has no plans to provide supported IPv6 protocol implementations for 
Windows 2000, Windows 98, and older versions of Windows.
 
Best Regards,
M Asif Naeem
 
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. 
It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us

Reply via email to