php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #55779 VS2008 Professional won't compile PHP but VC++ 2008 Express will
Submitted: 2011-09-25 15:37 UTC Modified: 2011-09-26 05:02 UTC
From: hessemanj2100 at gmail dot com Assigned: pajoye (profile)
Status: Closed Package: Compile Failure
PHP Version: 5.3.8 OS: Windows 7 64-bit
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hessemanj2100 at gmail dot com
New email:
PHP Version: OS:

 

 [2011-09-25 15:37 UTC] hessemanj2100 at gmail dot com
Description:
------------
When I compile PHP using Visual Studio 2008 Professional, I run into the 
following  fatal error:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\tchar.h(1659) : 
fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1ast.cpp', line 1411)

The configure command is:
configure --enable-snapshot-build --disable-zts

It works when I remove the --disable-zts but PHP is very slow when running CGI.

Visual C++ 2008 Express Edition does not have this problem. I even upgraded 
VS2008 Professional to SP1, after installing Windows SDK 6.1 of course. What 
could be the problem and how can I fix it?



Test script:
---------------
Here's every command step-by-step within the Windows SDK 6.1 command line. Please note that the binary tools and php source has already been extracted.

Step 1: setenv /x86 /release /xp
Step 2: cd c:\php-sdk
Step 3: bin\phpsdk_setvars.bat
Step 4: cd php53\vc9\x86\php-5.3.8
Step 5: buildconf
Step 6: configure --enable-snapshot-build --disable-zts
Step 7: nmake snap

Expected result:
----------------
You would expect Visual Studio 2008 Professional to compile PHP but it doesn't. 
Oddly enough, it does compile when you remove the flag --disable-zts. Visual C++ 
2008 Express Edition does not exhibit this problem.

Actual result:
--------------
c:\php-sdk\php53\vc9\x86\php-5.3.8>buildconf
...
c:\php-sdk\php53\vc9\x86\php-5.3.8>configure --enable-snapshot-build --disable-
zts
...
c:\php-sdk\php53\vc9\x86\php-5.3.8>nmake snap
...
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\main.c(2325) : warning C6031: Return val
ue ignored: '_getcwd'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\main.c(2332) : warning C6031: Return val
ue ignored: '_chdir'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_ini.c(701) : warning C6011: Derefere
ncing NULL pointer 'php_ini_scanned_files': Lines: 368, 369, 370, 371, 372, 373,
 374, 376, 380, 381, 384, 385, 387, 388, 390, 391, 392, 393, 560, 561, 567, 572,
 575, 589, 590, 591, 592, 593, 594, 595, 596, 601, 609, 613, 614, 616, 617, 618,
 620, 623, 625, 626, 627, 628, 630, 631, 634, 639, 640, 642, 644, 647, 648, 649,
 650, 651, 652, 653, 654, 655, 656, 658, 659, 660, 662, 665, 666, 662, 665, 670,
 672, 675, 677, 678, 679, 680, 681, 683, 685, 686, 687, 688, 693, 662, 695, 697,
 698, 699, 700, 701
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_ini.c(835) : warning C6386: Buffer o
verrun: accessing 'path_bak', the writable size is '260' bytes, but '261' bytes
might be written: Lines: 822, 823, 826, 829, 834, 835
php_scandir.c
php_sprintf.c
php_ticks.c
php_variables.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_scandir.c(115) : warning C6387: 'arg
ument 1' might be '0': this does not adhere to the specification for the functio
n 'qsort': Lines: 62, 63, 64, 65, 66, 67, 69, 73, 77, 110, 112, 114, 115
reentrancy.c
rfc1867.c
safe_mode.c
main\rfc1867.c(1081) : warning C4018: '>' : signed/unsigned mismatch
main\rfc1867.c(1086) : warning C4018: '>' : signed/unsigned mismatch
main\rfc1867.c(1168) : warning C4018: '<' : signed/unsigned mismatch
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_variables.c(160) : warning C6328: 'c
har' passed as parameter '1' when 'unsigned char' is required in call to 'isspac
e'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_variables.c(380) : warning C6328: 'c
har' passed as parameter '1' when 'unsigned char' is required in call to 'isspac
e'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\php_variables.c(624) : warning C6001: Us
ing uninitialized memory 'dest_entry': Lines: 610, 611, 612, 613, 614, 615, 616,
 618, 619, 620, 624
snprintf.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(267) : warning C6031: Return v
alue ignored: 'unlink'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(482) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(488) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(613) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(649) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(655) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
spprintf.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(878) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(886) : warning C6328: 'char' p
assed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\rfc1867.c(1145) : warning C6031: Return
value ignored: 'unlink'
strlcat.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\safe_mode.c(145) : warning C6031: Return
 value ignored: '_getcwd'
main\snprintf.c(1231) : warning C4018: '>=' : signed/unsigned mismatch
main\snprintf.c(1244) : warning C4018: '>=' : signed/unsigned mismatch
strlcpy.c
        "cl.exe" /D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D LIBZEND_EXPOR
TS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_BZ2 /D COMPILE_
DL_CURL /D COMPILE_DL_ENCHANT /D COMPILE_DL_FILEINFO /D COMPILE_DL_GD /D COMPILE
_DL_GETTEXT /D COMPILE_DL_GMP /D COMPILE_DL_IMAP /D COMPILE_DL_INTERBASE /D COMP
ILE_DL_INTL /D COMPILE_DL_LDAP /D COMPILE_DL_MBSTRING /D COMPILE_DL_OPENSSL /D C
OMPILE_DL_PGSQL /D COMPILE_DL_SHMOP /D COMPILE_DL_SNMP /D COMPILE_DL_SOCKETS /D
COMPILE_DL_SQLITE3 /D COMPILE_DL_SYBASE_CT /D COMPILE_DL_TIDY /D COMPILE_DL_EXIF
 /D COMPILE_DL_MYSQL /D COMPILE_DL_MYSQLI /D COMPILE_DL_PDO_FIREBIRD /D COMPILE_
DL_PDO_MYSQL /D COMPILE_DL_PDO_ODBC /D COMPILE_DL_PDO_PGSQL /D COMPILE_DL_PDO_SQ
LITE /D COMPILE_DL_SOAP /D COMPILE_DL_XMLRPC /D COMPILE_DL_XSL -Iext/bcmath/libb
cmath/src  /DHAVE_MSCOREE_H=1  -Iext/date/lib /wd4244 -Dregexec=php_regexec -Dre
gerror=php_regerror -Dregfree=php_regfree -Dregcomp=php_regcomp -Iext/ereg/regex
    /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_ICONV_H=1 /D PHP_ICONV_EX
PORTS  /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_MCRYPT_H=1  /DHAVE_SQL
_H=1 /DHAVE_SQLEXT_H=1 -Iext/pcre/pcrelib    /I "ext/date/lib"  /DHAVE_TIMELIB_C
ONFIG_H=1 /I "ext\mbstring\oniguruma"  /DHAVE_ONIGURUMA_H=1  /I "C:\php-sdk\php5
3\vc9\x86\deps\include"  /DHAVE_ZLIB_H=1 /D ZLIB_EXPORTS /I "C:\php-sdk\php53\vc
9\x86\deps\include"  /DHAVE_LIBXML_PARSER_H=1 /D LIBXML_STATIC /D LIBXML_STATIC_
FOR_DLL /D HAVE_WIN32_THREADS /D LIBXML_STATIC   /D LIBXML_STATIC /D PHP_SIMPLEX
ML_EXPORTS /I "ext/date/lib"  /DHAVE_TIMELIB_CONFIG_H=1 /D LIBXML_STATIC /D LIBX
ML_STATIC /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_LIBXML_XMLWRITER_H=
1 /D LIBXML_STATIC /nologo /FD /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /
D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3   /wd4996 /D_USE_32BIT_TIME_
T=1   /MP  /Zi /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /G
F /D ZEND_DEBUG=0 /I "C:\php-sdk\php53\vc9\x86\deps\include"  /D FD_SETSIZE=256
 /analyze   /wd6308 /FoRelease\win32\ /FdRelease\win32\ /FpRelease\win32\ /FRRel
ease\win32\ /c win32\fnmatch.c win32\inet.c win32\sockets.c
fnmatch.c
inet.c
sockets.c
        "cl.exe" /D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D LIBZEND_EXPOR
TS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_BZ2 /D COMPILE_
DL_CURL /D COMPILE_DL_ENCHANT /D COMPILE_DL_FILEINFO /D COMPILE_DL_GD /D COMPILE
_DL_GETTEXT /D COMPILE_DL_GMP /D COMPILE_DL_IMAP /D COMPILE_DL_INTERBASE /D COMP
ILE_DL_INTL /D COMPILE_DL_LDAP /D COMPILE_DL_MBSTRING /D COMPILE_DL_OPENSSL /D C
OMPILE_DL_PGSQL /D COMPILE_DL_SHMOP /D COMPILE_DL_SNMP /D COMPILE_DL_SOCKETS /D
COMPILE_DL_SQLITE3 /D COMPILE_DL_SYBASE_CT /D COMPILE_DL_TIDY /D COMPILE_DL_EXIF
 /D COMPILE_DL_MYSQL /D COMPILE_DL_MYSQLI /D COMPILE_DL_PDO_FIREBIRD /D COMPILE_
DL_PDO_MYSQL /D COMPILE_DL_PDO_ODBC /D COMPILE_DL_PDO_PGSQL /D COMPILE_DL_PDO_SQ
LITE /D COMPILE_DL_SOAP /D COMPILE_DL_XMLRPC /D COMPILE_DL_XSL -Iext/bcmath/libb
cmath/src  /DHAVE_MSCOREE_H=1  -Iext/date/lib /wd4244 -Dregexec=php_regexec -Dre
gerror=php_regerror -Dregfree=php_regfree -Dregcomp=php_regcomp -Iext/ereg/regex
    /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_ICONV_H=1 /D PHP_ICONV_EX
PORTS  /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_MCRYPT_H=1  /DHAVE_SQL
_H=1 /DHAVE_SQLEXT_H=1 -Iext/pcre/pcrelib    /I "ext/date/lib"  /DHAVE_TIMELIB_C
ONFIG_H=1 /I "ext\mbstring\oniguruma"  /DHAVE_ONIGURUMA_H=1  /I "C:\php-sdk\php5
3\vc9\x86\deps\include"  /DHAVE_ZLIB_H=1 /D ZLIB_EXPORTS /I "C:\php-sdk\php53\vc
9\x86\deps\include"  /DHAVE_LIBXML_PARSER_H=1 /D LIBXML_STATIC /D LIBXML_STATIC_
FOR_DLL /D HAVE_WIN32_THREADS /D LIBXML_STATIC   /D LIBXML_STATIC /D PHP_SIMPLEX
ML_EXPORTS /I "ext/date/lib"  /DHAVE_TIMELIB_CONFIG_H=1 /D LIBXML_STATIC /D LIBX
ML_STATIC /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_LIBXML_XMLWRITER_H=
1 /D LIBXML_STATIC /nologo /FD /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /
D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3   /wd4996 /D_USE_32BIT_TIME_
T=1   /MP  /Zi /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /G
F /D ZEND_DEBUG=0 /I "C:\php-sdk\php53\vc9\x86\deps\include"  /D FD_SETSIZE=256
 /analyze   /wd6308 /FoRelease\main\streams\ /FdRelease\main\streams\ /FpRelease
\main\streams\ /FRRelease\main\streams\ /c main\streams\cast.c main\streams\filt
er.c main\streams\glob_wrapper.c main\streams\memory.c main\streams\mmap.c main\
streams\plain_wrapper.c main\streams\streams.c main\streams\transports.c main\st
reams\userspace.c main\streams\xp_socket.c
cast.c
filter.c
glob_wrapper.c
memory.c
main\streams\glob_wrapper.c(148) : warning C4018: '<' : signed/unsigned mismatch

mmap.c
plain_wrapper.c
streams.c
transports.c
userspace.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\streams\plain_wrapper.c(414) : warning C
6031: Return value ignored: 'unlink'
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\streams\plain_wrapper.c(1360) : warning
C6328: 'char' passed as parameter '1' when 'unsigned char' is required in call t
o 'isalpha'
xp_socket.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\main\streams\streams.c(2226) : warning C6387:
 'argument 1' might be '0': this does not adhere to the specification for the fu
nction 'qsort': Lines: 2192, 2193, 2194, 2195, 2196, 2198, 2202, 2203, 2207, 222
1, 2223, 2225, 2226
        "cl.exe" /D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D LIBZEND_EXPOR
TS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_BZ2 /D COMPILE_
DL_CURL /D COMPILE_DL_ENCHANT /D COMPILE_DL_FILEINFO /D COMPILE_DL_GD /D COMPILE
_DL_GETTEXT /D COMPILE_DL_GMP /D COMPILE_DL_IMAP /D COMPILE_DL_INTERBASE /D COMP
ILE_DL_INTL /D COMPILE_DL_LDAP /D COMPILE_DL_MBSTRING /D COMPILE_DL_OPENSSL /D C
OMPILE_DL_PGSQL /D COMPILE_DL_SHMOP /D COMPILE_DL_SNMP /D COMPILE_DL_SOCKETS /D
COMPILE_DL_SQLITE3 /D COMPILE_DL_SYBASE_CT /D COMPILE_DL_TIDY /D COMPILE_DL_EXIF
 /D COMPILE_DL_MYSQL /D COMPILE_DL_MYSQLI /D COMPILE_DL_PDO_FIREBIRD /D COMPILE_
DL_PDO_MYSQL /D COMPILE_DL_PDO_ODBC /D COMPILE_DL_PDO_PGSQL /D COMPILE_DL_PDO_SQ
LITE /D COMPILE_DL_SOAP /D COMPILE_DL_XMLRPC /D COMPILE_DL_XSL -Iext/bcmath/libb
cmath/src  /DHAVE_MSCOREE_H=1  -Iext/date/lib /wd4244 -Dregexec=php_regexec -Dre
gerror=php_regerror -Dregfree=php_regfree -Dregcomp=php_regcomp -Iext/ereg/regex
    /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_ICONV_H=1 /D PHP_ICONV_EX
PORTS  /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_MCRYPT_H=1  /DHAVE_SQL
_H=1 /DHAVE_SQLEXT_H=1 -Iext/pcre/pcrelib    /I "ext/date/lib"  /DHAVE_TIMELIB_C
ONFIG_H=1 /I "ext\mbstring\oniguruma"  /DHAVE_ONIGURUMA_H=1  /I "C:\php-sdk\php5
3\vc9\x86\deps\include"  /DHAVE_ZLIB_H=1 /D ZLIB_EXPORTS /I "C:\php-sdk\php53\vc
9\x86\deps\include"  /DHAVE_LIBXML_PARSER_H=1 /D LIBXML_STATIC /D LIBXML_STATIC_
FOR_DLL /D HAVE_WIN32_THREADS /D LIBXML_STATIC   /D LIBXML_STATIC /D PHP_SIMPLEX
ML_EXPORTS /I "ext/date/lib"  /DHAVE_TIMELIB_CONFIG_H=1 /D LIBXML_STATIC /D LIBX
ML_STATIC /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_LIBXML_XMLWRITER_H=
1 /D LIBXML_STATIC /nologo /FD /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /
D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3   /wd4996 /D_USE_32BIT_TIME_
T=1   /MP  /Zi /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /G
F /D ZEND_DEBUG=0 /I "C:\php-sdk\php53\vc9\x86\deps\include"  /D FD_SETSIZE=256
 /analyze   /wd6308 /FoRelease\win32\ /FdRelease\win32\ /FpRelease\win32\ /FRRel
ease\win32\ /c win32\glob.c win32\globals.c win32\readdir.c win32\registry.c win
32\select.c win32\sendmail.c win32\time.c win32\winutil.c win32\wsyslog.c
glob.c
globals.c
readdir.c
registry.c
select.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\glob.c(571) : warning C6237: (<zero> &&
 <expression>) is always zero. <expression> is never evaluated and might have si
de effects
sendmail.c
time.c
winutil.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\time.h(20) : warning C6244: Local decla
ration of 'timezone' hides previous declaration at line '280' of 'c:\program fil
es (x86)\microsoft visual studio 9.0\vc\include\time.h'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\time.h(20) : warning C6244: Local decla
ration of 'timezone' hides previous declaration at line '280' of 'c:\program fil
es (x86)\microsoft visual studio 9.0\vc\include\time.h'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\time.c(138) : warning C6387: 'argument
1' might be '0': this does not adhere to the specification for the function 'Set
WaitableTimer': Lines: 132, 133, 135, 137, 138
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\time.c(139) : warning C6387: 'argument
1' might be '0': this does not adhere to the specification for the function 'Wai
tForSingleObject': Lines: 132, 133, 135, 137, 138, 139
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\time.c(140) : warning C6387: 'argument
1' might be '0': this does not adhere to the specification for the function 'Clo
seHandle': Lines: 132, 133, 135, 137, 138, 139, 140
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(424) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(439) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(460) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(490) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(515) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
wsyslog.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\sendmail.c(548) : warning C6328: 'char'
 passed as parameter '1' when 'unsigned char' is required in call to 'isspace'
c:\php-sdk\php53\vc9\x86\php-5.3.8\win32\wsyslog.c(112) : warning C6387: 'argume
nt 1' might be '0': this does not adhere to the specification for the function '
ReportEventA': Lines: 83, 84, 85, 86, 87, 91, 92, 94, 95, 96, 97, 107, 108, 109,
 110, 112
        "cl.exe" /D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D LIBZEND_EXPOR
TS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_BZ2 /D COMPILE_
DL_CURL /D COMPILE_DL_ENCHANT /D COMPILE_DL_FILEINFO /D COMPILE_DL_GD /D COMPILE
_DL_GETTEXT /D COMPILE_DL_GMP /D COMPILE_DL_IMAP /D COMPILE_DL_INTERBASE /D COMP
ILE_DL_INTL /D COMPILE_DL_LDAP /D COMPILE_DL_MBSTRING /D COMPILE_DL_OPENSSL /D C
OMPILE_DL_PGSQL /D COMPILE_DL_SHMOP /D COMPILE_DL_SNMP /D COMPILE_DL_SOCKETS /D
COMPILE_DL_SQLITE3 /D COMPILE_DL_SYBASE_CT /D COMPILE_DL_TIDY /D COMPILE_DL_EXIF
 /D COMPILE_DL_MYSQL /D COMPILE_DL_MYSQLI /D COMPILE_DL_PDO_FIREBIRD /D COMPILE_
DL_PDO_MYSQL /D COMPILE_DL_PDO_ODBC /D COMPILE_DL_PDO_PGSQL /D COMPILE_DL_PDO_SQ
LITE /D COMPILE_DL_SOAP /D COMPILE_DL_XMLRPC /D COMPILE_DL_XSL -Iext/bcmath/libb
cmath/src  /DHAVE_MSCOREE_H=1  -Iext/date/lib /wd4244 -Dregexec=php_regexec -Dre
gerror=php_regerror -Dregfree=php_regfree -Dregcomp=php_regcomp -Iext/ereg/regex
    /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_ICONV_H=1 /D PHP_ICONV_EX
PORTS  /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_MCRYPT_H=1  /DHAVE_SQL
_H=1 /DHAVE_SQLEXT_H=1 -Iext/pcre/pcrelib    /I "ext/date/lib"  /DHAVE_TIMELIB_C
ONFIG_H=1 /I "ext\mbstring\oniguruma"  /DHAVE_ONIGURUMA_H=1  /I "C:\php-sdk\php5
3\vc9\x86\deps\include"  /DHAVE_ZLIB_H=1 /D ZLIB_EXPORTS /I "C:\php-sdk\php53\vc
9\x86\deps\include"  /DHAVE_LIBXML_PARSER_H=1 /D LIBXML_STATIC /D LIBXML_STATIC_
FOR_DLL /D HAVE_WIN32_THREADS /D LIBXML_STATIC   /D LIBXML_STATIC /D PHP_SIMPLEX
ML_EXPORTS /I "ext/date/lib"  /DHAVE_TIMELIB_CONFIG_H=1 /D LIBXML_STATIC /D LIBX
ML_STATIC /I "C:\php-sdk\php53\vc9\x86\deps\include"  /DHAVE_LIBXML_XMLWRITER_H=
1 /D LIBXML_STATIC /nologo /FD /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /
D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3   /wd4996 /D_USE_32BIT_TIME_
T=1   /MP  /Zi /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /G
F /D ZEND_DEBUG=0 /I "C:\php-sdk\php53\vc9\x86\deps\include"  /D FD_SETSIZE=256
 /analyze   /wd6308 /FoRelease\TSRM\ /FdRelease\TSRM\ /FpRelease\TSRM\ /FRReleas
e\TSRM\ /c TSRM\TSRM.c TSRM\tsrm_strtok_r.c TSRM\tsrm_virtual_cwd.c TSRM\tsrm_wi
n32.c
TSRM.c
tsrm_strtok_r.c
tsrm_virtual_cwd.c
tsrm_win32.c
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(169) : warning C6011: Deref
erencing NULL pointer 'pTokenUser': Lines: 142, 143, 144, 145, 146, 147, 148, 15
1, 164, 169
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(217) : warning C6328: 'cons
t char' passed as parameter '1' when 'unsigned char' is required in call to 'isa
lpha'
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(225) : warning C6387: 'argu
ment 1' might be '0': this does not adhere to the specification for the function
 'access': Lines: 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 207, 208, 20
9, 213, 217, 218, 219, 222, 225
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(284) : warning C6387: 'argu
ment 1' might be '0': this does not adhere to the specification for the function
 'strlen': Lines: 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 207, 208, 20
9, 213, 217, 218, 219, 222, 225, 231, 246, 247, 248, 257, 258, 267, 268, 271, 27
4, 282, 283, 284
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(328) : warning C6387: 'argu
ment 1' might be '0': this does not adhere to the specification for the function
 'GetFileSecurityA': Lines: 195, 196, 197, 198, 199, 200, 202, 203, 204, 205, 20
7, 208, 209, 213, 217, 218, 219, 222, 225, 231, 246, 247, 248, 257, 258, 267, 26
8, 271, 274, 282, 283, 284, 285, 297, 303, 309, 310, 314, 323, 328
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(542) : warning C6387: 'argu
ment 1' might be '0': this does not adhere to the specification for the function
 'CloseHandle': Lines: 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 46
7, 468, 469, 470, 474, 479, 480, 484, 485, 488, 484, 491, 492, 493, 495, 499, 50
0, 502, 503, 504, 506, 507, 509, 514, 515, 516, 519, 520, 525, 528, 529, 534, 53
5, 539, 540, 541, 542
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(641) : warning C6011: Deref
erencing NULL pointer 'shm->descriptor': Lines: 592, 593, 594, 595, 597, 601, 60
2, 604, 605, 607, 617, 622, 623, 624, 625, 627, 641
c:\php-sdk\php53\vc9\x86\php-5.3.8\tsrm\tsrm_win32.c(643) : warning C6387: 'argu
ment 1' might be '0': this does not adhere to the specification for the function
 'UnmapViewOfFile': Lines: 592, 593, 594, 595, 597, 601, 602, 604, 605, 607, 617
, 622, 623, 624, 625, 627, 641, 642, 643
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\tchar.h(1659) : fa
tal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1ast.cpp', line 1411)
 To work around this problem, try simplifying or changing the program near the l
ocations listed above.
Please choose the Technical Support command on the Visual C++
 Help menu, or open the Technical Support help file for more information
Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
\Bin\cl.exe.  You will be prompted to send an error report to Microsoft later.
cl : Command line error D8040 : error creating or communicating with child proce
ss
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\Bin\cl.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
VC\Bin\nmake.exe"' : return code '0x2'
Stop.

c:\php-sdk\php53\vc9\x86\php-5.3.8>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-09-25 16:11 UTC] pajoye@php.net
-Status: Open +Status: Feedback
 [2011-09-25 16:11 UTC] pajoye@php.net
Sorry but I can hardly help. It works just fine here and we use 2008 (all butthe 
express edition tho').

One possible bug could be in the static analyzer, disable it using --disable-
static-analyzer

I found and reported it to the VC team already, so it is likely that you met it 
as well.
 [2011-09-25 17:04 UTC] hessemanj2100 at gmail dot com
What build are you running of VS? Here's my build numbers:

Microsoft Visual Studio 2008
Version 9.0.30729.1 SP

Microsoft .NET Framework
Version 3.5 SP1
 [2011-09-25 17:15 UTC] hessemanj2100 at gmail dot com
--disable-static-analyzer doesn't exist
 [2011-09-25 17:18 UTC] pajoye@php.net
Please try using the additional option I gave you in my previous comment.
 [2011-09-25 17:31 UTC] hessemanj2100 at gmail dot com
How do I find the problem you reported? I searched all over Google and PHP.net for 
an answer and failed miserably. By the way, this command worked: configure --
enable-one-shot --disable-zts
 [2011-09-25 17:47 UTC] hessemanj2100 at gmail dot com
VS2008 is picky. The compile finally worked after putting --disable-zts as the 
first flag. I can confirm that VS2008 was the problem and not PHP. Make sure this 
is documented. Thanks! :-)

Use: configure --disable-zts --enable-snapshot-build

instead of

configure --enable-snapshot-build --disable-zts
 [2011-09-25 17:51 UTC] hessemanj2100 at gmail dot com
-Status: Feedback +Status: Closed
 [2011-09-25 17:51 UTC] hessemanj2100 at gmail dot com
Problem solved by putting the --disable-zts flag first in the configure command.
 [2011-09-25 17:56 UTC] pajoye@php.net
-Assigned To: +Assigned To: pajoye
 [2011-09-25 17:56 UTC] pajoye@php.net
g:\php-sdk\php54\vc9\x86\php54>configure --help | find "analy"
  --enable-static-analyze       Enable the VC compiler static analyze


g:\php-sdk\php53\vc9\x86\php53>configure --help | find "analy"
  --enable-static-analyze       Enable the VC compiler static analyze
 [2011-09-25 18:19 UTC] hessemanj2100 at gmail dot com
-Status: Closed +Status: Assigned
 [2011-09-25 18:19 UTC] hessemanj2100 at gmail dot com
I am reopening the bug report because the problem was apparently not fixed. 
After building PHP with "configure --disable-zts --enable-one-shot" and then 
rebuilding PHP with "configure --disable-zts --enable-snapshot-build" without 
issuing the command "buildconf", PHP compiled successfully. But on the phpinfo() 
page it shows the configure command as the original "configure --disable-zts --
enable-one-shot." It's weird but that is the only way I was able to compile PHP. 
Disabling the static analyzer by issuing the flag --disable-static-analyze 
(without the r at the end) did allow me to compile PHP without having the 
recompile it. I shouldn't need to issue the --disable-static-analyze flag to 
compile PHP. It should compile without it, but that is a mystery still to be 
solved. I hope someone who has experienced this problem before can help me solve 
it. Thanks for any help.
 [2011-09-25 18:37 UTC] pajoye@php.net
ok, that's my last attempt.

Please try using:

configure --enable-snapshot-build --disable-zts --disable-static-analyze
 [2011-09-25 18:41 UTC] pajoye@php.net
-Status: Assigned +Status: Feedback
 [2011-09-25 18:41 UTC] pajoye@php.net
> feeedback again
 [2011-09-26 05:02 UTC] hessemanj2100 at gmail dot com
-Status: Feedback +Status: Closed
 [2011-09-26 05:02 UTC] hessemanj2100 at gmail dot com
Let's close this thing for good!

According to the pre-compiled PHP build configure command, it does indeed 
include the --disable-static-analyze. Also, after looking at the Visual Studio 
wiki article, both the express and professional editions do not include static 
analysis. With that in mind, make sure to document that --disable-static-analyze 
must be disabled. Pajoye must be using a version with code analysis support. 
Make sure to document this in the windows build instructions. I spent far too 
much time trying to figure this problem out. Thanks!

Visual Studio Wiki Article (scroll down to "editions feature grid")
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio

So the rule of thumb from now on is to include the --disable-static-analyze flag 
in the configure command. However, VS Premium and Ultimate shouldn't need to 
include that flag because they support static analysis.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sun Apr 06 22:01:29 2025 UTC