ID: 45698 Updated by: [EMAIL PROTECTED] Reported By: Keisial at gmail dot com -Status: Open +Status: Assigned Bug Type: Compile Failure Operating System: Windows - VC6 PHP Version: 5.3CVS-2008-08-03 (snap) Assigned To: pajoye New Comment:
> I had solved it by doing: > set INCLUDE=C:\PROGRA~1\Microsoft Platform SDK\Include;%INCLUDE% Great, that confirms the (old) winsock2 bug. I'm updating our scripts so it can be used easily by anyone to setup an environment (be vc6 or vc9). You can find them here: http://cvs.php.net/php-internals-win/script/ Some docs will be added to the wiki as well. Previous Comments: ------------------------------------------------------------------------ [2008-08-23 13:40:15] Keisial at gmail dot com Thanks for your attention. I had solved it by doing: set INCLUDE=C:\PROGRA~1\Microsoft Platform SDK\Include;%INCLUDE% Just doing configure.bat "--with-extra-includes=C:\PROGRA~1\Microsoft Platform SDK\Include" "--with-extra-libs=C:\PROGRA~1\Microsoft Platf orm SDK\lib" as you mention doesn't work, you still need the VC includes, or you get "fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory" Some includes only have the platform sdk (windows.h, winsock2.h...) but don't provide standard headers. The newest use a deprecated attribute which is not recognised, mingw32 headers fail for gcc specific code... Here are the different results i got when looking for a working combination: C:\PROGRA~1\Microsoft Visual Studio 9.0\VC\include\crtdefs.h(548) : error C2485: 'deprecated' : unrecognized extended attribute C:\PROGRA~1\Microsoft Visual Studio 8\VC\include\crtdefs.h(556) : error C2485: ' deprecated' : unrecognized extended attribute Zend\zend.h(37) : fatal error C1083: Cannot open include file: 'stdio.h': No suc C:\PROGRA~1\Microsoft SDKs\Windows\v6.1\Include No stdio.h C:\PROGRA~1\Microsoft SDKs\Windows\v6.1\Include + VC6 C:\PROGRA~1\Microsoft SDKs\Windows\v6.1\Include\specstrings.h(9) : fatal error C 1083: Cannot open include file: 'sal.h': No such file or directory C:\PROGRA~1\Microsoft Platform SDK\Include No stdio C:\PROGRA~1\Microsoft Platform SDK\Include + VC Works Mingw32 headers -> Fail for GCCisms w32api headers + VC6 include\stdio.h(217) : error C2054: expected '(' to follow ' __inline__' ------------------------------------------------------------------------ [2008-08-23 09:49:02] [EMAIL PROTECTED] I finally got some more time to investigate. Can you try the following: - open a normal console - "c:\program files\Microsoft Visual Studio\VC98\bin\vcvars32.bat" - Do not register the SDK or VS vars, type "export<enter>" to be sure that no LIB or INCLUDE are defined (may be set to VC98 include or lib) Then run: configure.bat --with-extra-includes=c:\path\to\sdk200302\include --with-extra-libs=c:\path\to\sdk200302\lib and finally nmake. It may fix the problem as the correct winsock2 will be included. The important thing to remember is that winsock2.h is a special case, it has to be included before windows.h (msdn or google about it). ------------------------------------------------------------------------ [2008-08-03 13:35:50] [EMAIL PROTECTED] Err no. Please do not commit this patch as it does break VC6 builds now. Please use the following compilers SDK pairs: http://wiki.php.net/internals/windows/compiler http://wiki.php.net/internals/windows/windowssdk This is what we use for http://snaps.php.net ------------------------------------------------------------------------ [2008-08-03 13:25:31] [EMAIL PROTECTED] Stas, can you commit the patch please? ------------------------------------------------------------------------ [2008-08-03 12:27:13] [EMAIL PROTECTED] This will probably fix the compile failure that Steph and I were getting... ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45698 -- Edit this bug report at http://bugs.php.net/?id=45698&edit=1