Hello all:
I'm not sure if this is the right place to ask this question, but I'm
wondering if there might be an update available for this wiki describing
how to compile on Windows:
https://wiki.php.net/internals/windows/stepbystepbuild
In particular, there are a couple of aspects to that wiki entry that look a
bit old:
- setenv flag of /x86 -- what about 64-bit?
- setenv flag of /xp -- what about win 7?
- setenv flag of /2008 -- what about VC++ 2010?
Any help or suggestions would be much appreciated. Please let me know if I
should pester the doc team instead.
Hi,
that wiki page is pretty much up to date. Also, if you have windows
specific questions, there is internals-win@lists.php.net .
Regards
Anatoliy
On Mon, 2012-12-24 at 11:01 -0800, j adams wrote:
Hello all:
I'm not sure if this is the right place to ask this question, but I'm
wondering if there might be an update available for this wiki describing
how to compile on Windows:
https://wiki.php.net/internals/windows/stepbystepbuildIn particular, there are a couple of aspects to that wiki entry that look a
bit old:
- setenv flag of /x86 -- what about 64-bit?
- setenv flag of /xp -- what about win 7?
- setenv flag of /2008 -- what about VC++ 2010?
Any help or suggestions would be much appreciated. Please let me know if I
should pester the doc team instead.
Hi,
Hello all:
I'm not sure if this is the right place to ask this question, but I'm
wondering if there might be an update available for this wiki describing
how to compile on Windows:
https://wiki.php.net/internals/windows/stepbystepbuildIn particular, there are a couple of aspects to that wiki entry that look
a
bit old:
- setenv flag of /x86 -- what about 64-bit?
x64 builds are not yet officially supported. However nothing prevents one
to do it. It should build fine.
- setenv flag of /xp -- what about win 7?
This sets the minimum windows version for PHP 5.3 or 5.4. It obviously
creates bins compatible with Windows 7 or even windows 8.
5.5 will use windows 7 as a minimum version
- setenv flag of /2008 -- what about VC++ 2010?
5.3 and 5.4 builds are done using vc9 (vs 2008). It is strongly recommended
to use vc9 to build extensions targetting 5.3 or 5.4.
Cheers,
Hi Pierre,
Pierre Joye in php.internals (Thu, 27 Dec 2012 06:56:42 +0100):
x64 builds are not yet officially supported.
Not yet? That sounds if x64 will be supported sometime. Will it?
However nothing prevents one to do it. It should build fine.
If you can get all dependencies right. For x86 many of them are
available at http://windows.php.net/downloads/php-sdk/
But, for instance, libiconv_a.lib is nowhere available as precompiled
binary for x64. And MS Visual C/C++ with "nmake" is no longer supported
by GNU since iconv 1.11.1. So you will have to cook your own Makefiles
or VCproj files. At the moment I am compiling 1.14 for x64 in VC10, but
with the v90 Platform Toolset, so you'll end up with VC9 libs after all.
About the deps on downloads/php-sdk: I see you are using different deps
for PHP 5.3 and PHP 5.4 nowadays. Are the differences great?
When I compile PHP for x86 I always use the same deps. Only for the non
standard extensions couchdb and eAccelarator I have to use different
sources because their PHP 5.4 adjustments are not backwards compatible.
5.3 and 5.4 builds are done using vc9 (vs 2008). It is strongly recommended
to use vc9 to build extensions targetting 5.3 or 5.4.
What are the plans for 5.5? A transition to VC10? I once tried to use my
existing php-sdk setup to compile PHP 5.4 with VC10, but not all
compilations succeeded. Compilation failed for php_intl.dll failed with
these errors:
C:\php-sdk\php54dev>nmake php_intl.dll | find "error"
Microsoft (R) Program Maintenance Utility Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.
.\win32/php_stdint.h(101) : error C2371: 'int_fast16_t' : redefinition;
different basic types
.\win32/php_stdint.h(105) : error C2371: 'uint_fast16_t' : redefinition;
different basic types
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\cl.exe"' : return code '0x2'
Stop.
I did not dig into it to find out how to solve it, because I also got
VC++ Runtime errors. VC9 is good enough for the moment.
Jan
Jan Ehrhardt in php.internals (Thu, 27 Dec 2012 13:19:08 +0100):
What are the plans for 5.5? A transition to VC10? I once tried to use my
existing php-sdk setup to compile PHP 5.4 with VC10, but not all
compilations succeeded. Compilation failed for php_intl.dll failed with
these errors:C:\php-sdk\php54dev>nmake php_intl.dll | find "error"
Microsoft (R) Program Maintenance Utility Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved..\win32/php_stdint.h(101) : error C2371: 'int_fast16_t' : redefinition;
different basic types
.\win32/php_stdint.h(105) : error C2371: 'uint_fast16_t' : redefinition;
different basic types
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\cl.exe"' : return code '0x2'
Stop.I did not dig into it to find out how to solve it, because I also got
VC++ Runtime errors. VC9 is good enough for the moment.
php_intl version PECL-3.0.0b1 compiled fine with VC10. And the VC++
Runtime errors were caused by php_couchbase.dll. No big deal.
Jan