php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33251 win32 build system
Submitted: 2005-06-05 20:31 UTC Modified: 2005-06-06 16:36 UTC
From: ohmer at epita dot info Assigned:
Status: Closed Package: *Compile Issues
PHP Version: 5.0.4 OS: windows
Private report: No CVE-ID: None
 [2005-06-05 20:31 UTC] ohmer at epita dot info
Description:
------------
hello,

i achieved to build php 5.0.4 on windows. i am submitting a bug report to the build system because i have found some errors in it. my configure line was :

C:\php-5.0.4>cscript /nologo configure.js --disable-all --with-extra-includes=C:/Apache2/include --with-extra-libs="C:/Apache2/lib"
--enable-apache2handler
--with-bz2
--enable-ftp
--enable-spl
--enable-zlib
--enable-session
--with-pgsql="C:\Program Files\PostgreSQL\8.0" 
--with-mysql="C:\Program Files\MySQL\MySQL Server 4.1" 
--with-mysqli="C:\Program Files\MySQL\MySQL Server 4.1" --with-mime-magic
--with-sqlite
--with-openssl
--enable-fd-setsize=256

1) not using --enable-set-fd=256 causes invalid CFLAGS generation seemingly because of the call to parseInt fails (see win32/build/config.w32 line 228) returning NaN.

2) i had to adjust ext/{mysql,mysqli,pgsql}/config.w32 to make it correctly find my headers and libraries :

mysql:
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQL", PHP_MYSQL + "\\include;" + PHP_PHP_BUILD + "\\include"))
mysqli:
CHECK_HEADER_ADD_INCLUDE("mysql.h", "CFLAGS_MYSQLI", PHP_MYSQLI + "\\include;" + PHP_PHP_BUILD + "\\include"))
pgsql:
CHECK_HEADER_ADD_INCLUDE("libpq-fe.h", "CFLAGS_PGSQL", PHP_PGSQL + "\\include;" + PHP_PHP_BUILD + \\include\\pgsql"))

as you will see while diffing with tarball's version, these modifications are only inverting search order and correcting them to follow concerned windows distribution layout. notice that the second search path for postgresql is useless as the win32build.zip provided does not contain pgsql headers nor lib.

thanks for this new configure-like build system, this is really helpful and friendly to unix users like me.



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-06-05 21:26 UTC] wez@php.net
Merged your changes into HEAD (will be PHP 5.1).
Thanks for letting me know.

Note that we use a different, more encompassing, win32 build collection on the snapshots machine; that includes working pgsql headers and libraries, so the search path there isn't redundant at all.

http://viewcvs.php.net/viewcvs.cgi/php-src/win32/build/confutils.js.diff?r1=1.55&r2=1.56
this patch should correct your fd-setsize issue, which appears to be a side effect of using --disable-all.

 [2005-06-06 16:36 UTC] ohmer at epita dot info
i didn't meant that search path was redundant. i meant 
that search path should be inverted (as i did) to first 
search in specified directory by --with-opt=DIR and then 
in PHP_PHP_BUILD directory.

so, as i previously said: 
PHP_PHP_BUILD + "\\include;" + PHP_MYSQL + "\\include"

should become:
PHP_MYSQL + "\\include;" + PHP_PHP_BUILD + "\\include"

in ext/mysql/config.w32. same for 2 others extension 
(see previous post). am i wrong ?
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Jun 15 14:01:36 2024 UTC