php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #37333 incompatibility with libiconv and other progs
Submitted: 2006-05-05 18:06 UTC Modified: 2006-05-07 08:28 UTC
From: werner at seneweb dot com Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 5.1.4 OS: Slackware 10.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: werner at seneweb dot com
New email:
PHP Version: OS:

 

 [2006-05-05 18:06 UTC] werner at seneweb dot com
Description:
------------
Incompatibility with libiconv.

This is also not becoming better when changing the version 
of libiconv and/or compiling it from the source code.

Error messages annexed.

Actual result:
--------------
/usr/local/src/php-5.1.4/ext/openssl/openssl.c: In function 
`php_openssl_x509_from_zval':
/usr/local/src/php-5.1.4/ext/openssl/openssl.c:776: 
warning: passing arg 1 of `PEM_ASN1_read_bio' from 
incompatible pointer type
/usr/local/src/php-5.1.4/ext/date/lib/tm2unixtime.c: In 
function `do_years':
/usr/local/src/php-5.1.4/ext/date/lib/tm2unixtime.c:143: 
warning: integer constant is too large for "long" type
/usr/local/src/php-5.1.4/ext/dba/dba_db4.c: In function 
`dba_open_db4':
/usr/local/src/php-5.1.4/ext/dba/dba_db4.c:99: warning: 
passing arg 2 of pointer to function from incompatible 
pointer type
/usr/local/src/php-5.1.4/ext/gd/libgd/gdkanji.c: In 
function `do_convert':
/usr/local/src/php-5.1.4/ext/gd/libgd/gdkanji.c:365: 
warning: passing arg 2 of `libiconv' from incompatible 
pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`_php_iconv_appendl':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:254: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`_php_iconv_strlen':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:528: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`_php_iconv_substr':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:641: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`_php_iconv_strpos':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:772: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`_php_iconv_mime_encode':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1021: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1121: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c: In function 
`php_iconv_stream_filter_append_bucket':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2379: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2458: warning: 
passing arg 2 of `libiconv' from incompatible pointer type
/usr/local/src/php-5.1.4/ext/standard/datetime.c: In 
function `zif_strptime':
/usr/local/src/php-5.1.4/ext/standard/datetime.c:104: 
warning: assignment makes pointer from integer without a 
cast
conflicts: 5 shift/reduce
"/usr/local/src/php-5.1.4/Zend/zend_ini_scanner.l", line 
174: warning, rule cannot be matched
ext/gd/libgd/.libs/gdkanji.o(.text+0x68): In function 
`do_convert':
/usr/local/src/php-5.1.4/ext/gd/libgd/gdkanji.c:350: 
undefined reference to `libiconv_open'
ext/gd/libgd/.libs/gdkanji.o(.text+0xa5):/usr/local/src/php-5.1.4/ext/gd/libgd/gdkanji.c:365: 
undefined reference to `libiconv'
ext/gd/libgd/.libs/gdkanji.o(.text+0xb4):/usr/local/src/php-5.1.4/ext/gd/libgd/gdkanji.c:381: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x15f): In function 
`_php_iconv_appendl':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:254: undefined 
reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x22b):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:291: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2da): In function 
`php_iconv_string':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:347: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x312):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:356: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x333):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:369: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x356):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:380: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x3be): In function 
`_php_iconv_strlen':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:505: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x424):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:528: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x44e):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:562: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x4da): In function 
`_php_iconv_strpos':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:747: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x545):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:772: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x5dd):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:886: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x78a): In function 
`_php_iconv_mime_decode':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1247: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x84a):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1716: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x85f):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1719: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0xb20):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1358: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0xb33):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1361: 
undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x1124): In function 
`zif_iconv_substr':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:618: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x11cb):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:641: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1214):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:698: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x122a):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:702: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x13e5):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:649: 
undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x195d): In function 
`zif_iconv_mime_encode':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:936: undefined 
reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x197d):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:950: 
undefined reference to `libiconv_open'
ext/iconv/.libs/iconv.o(.text+0x1bad):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1209: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x1bc8):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1212: 
undefined reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x1d26):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1021: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1d59):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1053: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x1d85):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1069: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x2041):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1121: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x206e):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1152: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x22c6):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:1196: 
more undefined references to `libiconv' follow
ext/iconv/.libs/iconv.o(.text+0x2f9d): In function 
`php_iconv_stream_filter_dtor':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2307: undefined 
reference to `libiconv_close'
ext/iconv/.libs/iconv.o(.text+0x30a3): In function 
`php_iconv_stream_filter_append_bucket':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2457: undefined 
reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x30e6):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2457: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x31b0):/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2379: 
undefined reference to `libiconv'
ext/iconv/.libs/iconv.o(.text+0x34de): In function 
`php_iconv_stream_filter_factory_create':
/usr/local/src/php-5.1.4/ext/iconv/iconv.c:2333: undefined 
reference to `libiconv_open'
collect2: ld returned 1 exit status
make: [sapi/cli/php] Error 1 (ignored)


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-05-05 18:18 UTC] werner at seneweb dot com
Here are the configure options i used:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr --with-zlib --with-libxml --with-gd --enable-soap --enable-sockets --with-mm=/usr/local --with-pear --with-xsl --with-bz2 --with-openssl --with-kerberos --enable-sysvmsg --enable-ftp --enable-fastcgi --enable-libgcc --with-db4
 [2006-05-06 09:05 UTC] tony2001@php.net
Doesn't Slackware have libiconv bundled into the glibc?
 [2006-05-06 14:24 UTC] werner at seneweb dot com
Yes, and I also tried it with install other versions 
libiconv 1.9.1 , 1.9.2 , .tgz  and with .tar.gz 
re-compiling too,  but all them gave the same kind of error 
messages.   Currently I resolved it, compiling php 5.1.4 
with ./configure --without-iconv --without-libiconv ...  
then its compiling/installing/running without problems.  
All this indicates, that it is the programming interface to 
libiconv inside php 5 what is wrong (probably, the correct 
types of the parameters in the libiconv call) and should be 
re-programmed.
 [2006-05-06 14:38 UTC] tony2001@php.net
All linuxes I know of come with libiconv bundled into the glibc code.
I'm not sure about Slackware, but please try to uninstall GNU libiconv at all, it should work fine with the bundled one.
 [2006-05-06 20:25 UTC] werner at seneweb dot com
Yes, naturally I unstalled libiconv before I tried another 
version, without sucess, then cames the same error 
messages.

As said, meanwhile I resolved for my own use the broblem, 
by including --without-iconv --without-libiconv  into 
the ./configure  instruction.
 [2006-05-06 20:27 UTC] werner at seneweb dot com
But even switching off libiconv, the error in php consists, 
and the php developpers should verify and repear the calls 
of libiconv, so that it can be used.
 [2006-05-06 21:27 UTC] tony2001@php.net
>But even switching off libiconv, the error in php consists,
Which means that you're iconv is bundled into the glibc, while the headers are from GNU libiconv.
Which is clearly not PHP bug.
 [2006-05-07 08:28 UTC] werner at seneweb dot com
I uninstalled the old version (1.9.1.tgz) of GNU (?) 
libiconv, the error messages came, then i installed another 
version (1.9.2.tar.gz), they came again; at the end I 
switched it off for php by configure php without-libiconv, 
then it worked.    Also, the most new  progs what I 
install, I compile them from .tar.gz rather than 
installing .tgz (today again abaout ten) without that they 
reclaim about iconv.   And, php should work with both, 
c-libs and gnus iconv;  gnus iconv is not obsolete but 
updated steadily and not only I but other people too use 
it.

Anyway, the problem is reported, and the desenvolvers of 
php may verify what exactly is wrong, and correct it or not 
so that - like do other progs - also php works together 
with all kinds of iconv
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri Jul 04 15:01:36 2025 UTC