Bug #29362 [Com]: _libiconv_version' undeclared
| From: | peterkokot at gmail dot com | Date: | Thu, 28 Jun 2018 23:20:24 +0000 |
| Subject: | Bug #29362 [Com]: _libiconv_version' undeclared | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216028@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=29362&edit=1
ID: 29362
Comment by: peterkokot at gmail dot com
Reported by: webmaster at path dot org
Summary: _libiconv_version' undeclared
Status: No Feedback
Type: Bug
Package: Compile Failure
Operating System: RedHat Linux Enterprise 3
PHP Version: 5.0.0
Block user comment: N
Private report: N
New Comment:
I'm just confirming that this works ok. When GNU Libiconv library is used (there is no iconv.h
from the glibc present), the configure step is done with:
./configure --with-iconv=/path/to/gnu-libiconv
and the GNU libiconv version works correctly. Such error might happen more due to the conflicts of
Glibc iconv and the gnu libiconv headers present. Maybe the check should be better done for some
systems but I think it's not PHP's fault here.
In case someone will have same issue.
Previous Comments:
------------------------------------------------------------------------
[2018-02-11 17:19:16] broly at mac dot com
hey peter,
i think i have a solution. i ran into this problem on my machine and it seemed that the issue was
the path of the header file wasn't being encoded by configure correctly.
adding PHP_ICONV_PREFIX=<PATH OF ICONV-DIR> as an argument to configure fixed the issue (the
problem is that without this variable, the php_php_iconv_h or whatever the file is named (in
ext/iconv) does not encode the path properly.
adding this variable should solve the issue (in addition to the --iconv-dir) should work
hope this helps!
------------------------------------------------------------------------
[2017-11-30 01:24:46] peterkokot at gmail dot com
Hello, bumping this bug. This is still present in current PHP versions >= 7.0
The _libiconv_version variable is not defined in the GNU libiconv header file but it's only
declared there. This is a built header on Linux systems of GNU Libiconv 1.15, for example:
#define _LIBICONV_VERSION 0x010F /* version number: (major<<8) + minor */
extern int _libiconv_version; /* Likewise */
Note, that _libiconv_version variable is set as a DLL one for Windows systems. For example, file
gnu-libiconv-1.15/include/iconv.h.in:
#define _LIBICONV_VERSION 0x010F /* version number: (major<<8) + minor */
extern @DLL_VARIABLE@ int _libiconv_version; /* Likewise */
So, therefore the warning and error. Checking this out if it can be fixed simply and in some
reasonable time.
------------------------------------------------------------------------
[2005-12-09 18:56:00] ksvee at usit dot uio dot no
Used a few hours trying to debug this in my build of PHP-5.1.1. The problem seems to exist when
having installed libiconv on a linux-box that also support iconv in its glibc (such as RedHat
Enterprise WS 3.x).
If you have libiconv installed under /usr/local, try giving configure
"--with-iconv=/usr/local" for it to link against that version (assuming iconv.h is found
under /usr/local/include).
The configure script checks for iconv-support around line 44061, but the
"--with-iconv-dir" doesn't get checked before somewhere around line 95498, and is
only used for XMLRPC-EPI, not to compile ext/iconv/iconv.c.
For the binaries to link correctly (we use non-standard paths for our builds), you might have to
specify the proper CPPFLAGS and LDFLAGS as well, e.g:
CPPFLAGS="-I/path/to/include" \
LDFLAGS="-L/path/to/lib -Wl,-rpath,/path/to/lib"
(or '-R' instead of '-Wl,-rpath' depending on arch).
Kenneth Svee
------------------------------------------------------------------------
[2004-10-16 07:11:34] zac at zacbowling dot com
I got the same issue, but I was able to fix it by moving my iconv.h header like previously stated.
I'm using a modified version of Debian "Woody" and PHP 5.0.2 with updated libraries
similar to bug report.
libiconv-1.9.2, libxml2-2.6.7, and libxslt-1.1.2.
Zac Bowling
------------------------------------------------------------------------
[2004-08-29 04:30:46] sembiance at cosmicrealms dot com
I too got this bug, with PHP 4.3.8
I fixed it though.
The problem was I had --with-iconv --with-iconv-dir=/usr/local
in my configure line.
I dropped the first --with-iconv and kept just --with-iconv-dir=/usr/local
Did a configure, make and this time no errors.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=29362
--
Edit this bug report at https://bugs.php.net/bug.php?id=29362&edit=1