php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #64284 Build failure: 'ext/intl/intl_error.h' file not found
Submitted: 2013-02-23 10:39 UTC Modified: 2013-02-23 23:50 UTC
From: php-bugs-2013 at ryandesign dot com Assigned: cataphract (profile)
Status: Closed Package: Compile Failure
PHP Version: 5.5.0alpha5 OS: OS X 10.8.2
Private report: No CVE-ID: None
 [2013-02-23 10:39 UTC] php-bugs-2013 at ryandesign dot com
Description:
------------
I'm the maintainer of PHP in MacPorts, trying to update our php55 packages. In 
5.5.0alpha4 everything built fine but with 5.5.0alpha5 the intl extension does 
not 
build:


/bin/sh 
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/libtool --mode=compile /usr/bin/clang -
I/opt/local/include  -Wno-write-strings -I. -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl -
DPHP_ATOM_INC -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/include -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/main -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl -I/opt/local/include/php55/php -
I/opt/local/include/php55/php/main -I/opt/local/include/php55/php/TSRM -
I/opt/local/include/php55/php/Zend -I/opt/local/include/php55/php/ext -
I/opt/local/include/php55/php/ext/date/lib -I/opt/local/include -
I/opt/local/include  -I/opt/local/include -DHAVE_CONFIG_H  -pipe -O2 -arch 
x86_64   -c 
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/converter/converter.c -o 
converter/converter.lo 
mkdir converter/.libs
 /usr/bin/clang -I/opt/local/include -Wno-write-strings -I. -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-
5.5.0alpha5/ext/intl -DPHP_ATOM_INC -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/include -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/main -
I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl -I/opt/local/include/php55/php -
I/opt/local/include/php55/php/main -I/opt/local/include/php55/php/TSRM -
I/opt/local/include/php55/php/Zend -I/opt/local/include/php55/php/ext -
I/opt/local/include/php55/php/ext/date/lib -I/opt/local/include -
I/opt/local/include -I/opt/local/include -DHAVE_CONFIG_H -pipe -O2 -arch x86_64 
-c 
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/converter/converter.c  -fno-common -DPIC -o 
converter/.libs/converter.o
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php55-
intl/work/php-5.5.0alpha5/ext/intl/converter/converter.c:24:10: fatal error: 
'ext/intl/intl_error.h' file not found
#include "ext/intl/intl_error.h"
         ^
1 error generated.


This appears to be because the root of the source directory (the php-5.5.0alpha5 
directory) is not mentioned in a -I argument. The attached patch lets the build 
succeed, but I don't know if it's the correct fix.


Patches

ext-intl-converter-converter.c.diff (last revision 2013-02-23 10:40 UTC by php-bugs-2013 at ryandesign dot com)

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-02-23 10:52 UTC] php-bugs-2013 at ryandesign dot com
I may have selected the wrong "package" for this bug report. I'm talking about 
the intl extension bundled with PHP, not the intl extension on PECL.
 [2013-02-23 12:18 UTC] laruence@php.net
-Package: intl +Package: Compile Failure
 [2013-02-23 13:03 UTC] cataphract@php.net
We have this kind of includes all over the place:

http://lxr.php.net/search?q=%22include+ext%22&defs=&refs=&path=&hist=&project=PHP_TRUNK

specifically for intl:

http://lxr.php.net/search?q=%22include+ext%22&defs=&refs=&path=ext%2Fintl&hist=&project=PHP_TRUNK

Your compile command line is very strange. It's looking for headers in a central location (/opt/local/include/php55), as if you're compiling ext/intl with phpize (which is not supported), and it also has includes for ...ext/intl/main, ...ext/intl/Zend ...ext/intl/ext. All these directories main, Zend, ext are under the root of the PHP source tree, not ext/intl.

Maybe you could provide steps to reproduce this from a fresh tarball, though my ability to diagnose the problem will be limited as I don't use or have access to Mac OS X.
 [2013-02-23 13:03 UTC] cataphract@php.net
-Status: Open +Status: Feedback
 [2013-02-23 13:34 UTC] php-bugs-2013 at ryandesign dot com
I doubt the problem is OS X-specific.

Yes, we are using phpize to build the bundled extensions, just as we do
to build third-party extensions. We've been using phpize ever since we
started offering separately-installable PHP modules in 2009. This has
worked fine until now. I was not aware using phpize was not supported.
What should we be using instead? I am reluctant to change something
that has been working for three years.

Yes, I'm aware you have #includes for ext/date and ext/standard
elsewhere in the code. This is not a problem because the ext/date and
ext/standard files get installed by the main php55 port.

There are 22 occurrences in ext/intl of '#include "intl_error.h"' and 4
of '#include "../intl_error.h"' and only this one occurrence of
'#include "ext/intl/intl_error.h"' which is why I suggested this change.
 [2013-02-23 13:34 UTC] php-bugs-2013 at ryandesign dot com
-Status: Feedback +Status: Open
 [2013-02-23 23:50 UTC] cataphract@php.net
The fix for this bug has been committed.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.


 [2013-02-23 23:50 UTC] cataphract@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: cataphract
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 14:01:30 2024 UTC