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

Add a Patch

Pull Requests

Add a Pull Request

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-2021 The PHP Group
All rights reserved.
Last updated: Thu Oct 21 12:03:33 2021 UTC