Bug #29362 [Com]: _libiconv_version' undeclared

From: 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

« previous php.bugs (#216028) next »