#25281 [Asn->WFx]: specifying --with-iconv=<dir> causes compile failure
ID: 25281
Updated by: sniper@php.net
Reported By: phpbugs at rickbradley dot com
-Status: Assigned
+Status: Wont fix
Bug Type: ICONV related
Operating System: FreeBSD
PHP Version: 4.3.3
Assigned To: moriyoshi
New Comment:
Plain and simple: Update your gcc. (works fine with 3.3.1 for example)
Previous Comments:
------------------------------------------------------------------------
[2003-11-17 21:55:16] sniper@php.net
See also bug #26264
------------------------------------------------------------------------
[2003-08-28 02:22:57] sniper@php.net
Moriyoshi, can I now say "I told you so" ? :)
#include MACRO _does_not_work_everywhere_, period.
(removed all the comments since they didn't give any info we didn't
already know)
------------------------------------------------------------------------
[2003-08-27 18:53:03] phpbugs at rickbradley dot com
Description:
------------
When building PHP-4.3.3 if --with-iconv-dir=<iconvdir> is specified the
build of PHP fails with the following error:
gcc -Iext/iconv/ -I/home/eastcore/sites/build/src/php-4.3.3/ext/iconv/
-DPHP_ATOM_INC -I/home/eastcore/sites/build/src/php-4.3.3/include
-I/home/eastcore/sites/build/src/php-4.3.3/main
-I/home/eastcore/sites/build/src/php-4.3.3
-I/home/eastcore/sites/build/src/php-4.3.3/Zend
-I/home/eastcore/sites/server//openssl/include
-I/home/eastcore/sites/server//iconv/include -I/usr/local/include/mysql
-I/home/eastcore/sites/server//expat/include
-I/home/eastcore/sites/build/src/php-4.3.3/TSRM -g -O2 -c
/home/eastcore/sites/build/src/php-4.3.3/ext/iconv/iconv.c -o
ext/iconv/iconv.o && echo > ext/iconv/iconv.lo
/home/eastcore/sites/build/src/php-4.3.3/ext/iconv/iconv.c:40:
`#include' expects "FILENAME" or <FILENAME>
gmake: *** [ext/iconv/iconv.lo] Error 1
The problem is that the iconv.c file in question contains the following
around line 40:
#ifdef PHP_ICONV_H_PATH
#include PHP_ICONV_H_PATH
#else
#include <iconv.h>
#endif
I'm running gcc version 2.95.4, with cpp version 2.95.4. Granted,
GNU's cpp is a piece of shit, but back where I come from doing #include
<MACRO> is a no-no.
Anyway, my configure line is like so:
./configure --prefix=/home/eastcore/sites/server//php
--with-apache=/home/eastcore/sites/build/src/apache_1.3.28
--with-mysql=/usr/local
--with-openssl=/home/eastcore/sites/server//openssl --enable-trans-sid
--with-expat-dir=/home/eastcore/sites/server//expat --with-xml
--enable-xslt --with-xslt-sablot=/home/eastcore/sites/server//expat
--with-iconv=/home/eastcore/sites/server//iconv
--with-pear=/home/eastcore/sites/server//php
This is FreeBSD 4.8-RELEASE, with the following versions of
hand-compiled software (of interest to my PHP build):
VERSIONPHP = php-4.3.3
VERSIONAPACHE = apache_1.3.28
VERSIONMODSSL = mod_ssl-2.8.15-1.3.28
VERSIONOPENSSL = openssl-0.9.7b
VERSIONEXPAT = expat-1.95.2
VERSIONSABLOT = Sablot-1.0
VERSIONLIBXML = libxml2-2.4.30
VERSIONZLIB = zlib-1.1.3
VERSIONICONV = libiconv-1.7
Yes, that's from a Makefile.in. I build self-contained (as in
everything under one base directory) server installations for multiple
distinct servers on a single system. Being able to install each
library version with the server it was built with is important.
I haven't tried this on my Linux servers yet but I see no reason why it
won't fail there as well.
Reproduce code:
---------------
# gmake
Expected result:
----------------
I expected it to compile.
Actual result:
--------------
It didn't compile.
If I apply this patch:
--- php-4.3.3/ext/iconv/iconv.c Wed Aug 13 13:22:17 2003
+++ php-4.3.3-patched/ext/iconv/iconv.c Wed Aug 27 18:19:42 2003
@@ -36,11 +36,7 @@
#ifdef HAVE_ICONV
-#ifdef PHP_ICONV_H_PATH
-#include PHP_ICONV_H_PATH
-#else
#include <iconv.h>
-#endif
#ifdef HAVE_GLIBC_ICONV
#include <gnu/libc-version.h>
PHP 4.3.3 will build, but it is not using the same iconv I specified in
the --with-iconv=<iconvdir> configure argument.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25281&edit=1
Thread (8 messages)