ID:               45698
 Updated by:       [EMAIL PROTECTED]
 Reported By:      Keisial at gmail dot com
 Status:           Assigned
 Bug Type:         Compile Failure
 Operating System: Windows - VC6
 PHP Version:      5.3CVS-2008-08-03 (snap)
 Assigned To:      pajoye
 New Comment:

> However, just running those scripts doesn't work, buildconf fails
> complaining that snap53\win32\build\buildconf.js wasn't found

Hm, did you check it to snap53?

> If you want to make easy for anyone to build php on
> windows, you may find useful the script i use. 
> It automatically pulls the latest snapshot, 
> the requeriments (bindlib, libiconv, zlib, libxml2), builds
> php and moves the relevant files to a different Release folder.

Well, 5.3 will have no dependency by default but a compiler. PHP6
depends on ICU only.

At some point, I may add one single zip per area, for the core
(libxml2, libiconv, zlib) and per extension as well as some script to
automatically fetch the lib from our downloads section
(http://pecl2.php.net/downloads/php-windows-builds/php-libs/).

By the way, the snapshot scripts are used to build snapshots. I'm not
sure it makes sense to use them for daily developments. Their main
advantage is that they are callable from a scheduled task.

Ping on IRC? Where/who? :)



Previous Comments:
------------------------------------------------------------------------

[2008-08-23 18:19:06] Keisial at gmail dot com

I didn't know you could cvs checkout a module called php5!
It isn't listed at http://cvs.php.net/

However, just running those scripts doesn't work, buildconf fails
complaining that snap53\win32\build\buildconf.js wasn't found

If you want to make easy for anyone to build php on windows, you may
find useful the script i use. It automatically pulls the latest
snapshot, the requeriments (bindlib, libiconv, zlib, libxml2), builds
php and moves the relevant files to a different Release folder.

It's not completely foolproof, but imho it's on the right path. If
you're interested, send me an email or just /query me on irc.

------------------------------------------------------------------------

[2008-08-23 15:29:16] [EMAIL PROTECTED]

> 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.


------------------------------------------------------------------------

[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

------------------------------------------------------------------------

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

Reply via email to