Bug #51847 [Opn->Csd]: php 5.2.13 and gettext 0.18: Undefined symbols: _zif_setlocale
| From: | rasmus@php.net | Date: | Wed, 02 Jun 2010 05:55:28 +0000 |
| Subject: | Bug #51847 [Opn->Csd]: php 5.2.13 and gettext 0.18: Undefined symbols: _zif_setlocale | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-151005@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=51847&edit=1
ID: 51847
Updated by: rasmus@php.net
Reported by: php-bugs-2010 at ryandesign dot com
Summary: php 5.2.13 and gettext 0.18: Undefined symbols:
_zif_setlocale
-Status: Open
+Status: Closed
Type: Bug
Package: Compile Failure
Operating System: Mac OS X 10.6.3 x86_64
PHP Version: 5.2.13
-Assigned To:
+Assigned To: rasmus
New Comment:
Fixed in all branches in svn
Previous Comments:
------------------------------------------------------------------------
[2010-06-02 07:53:15] rasmus@php.net
Automatic comment from SVN on behalf of rasmus
Revision: http://svn.php.net/viewvc/?view=revision&revision=300085
Log: Fix for bug #51847
Someone in libintl world decided it was a good idea to do:
#undef setlocale
#define setlocale libintl_setlocale
That means, of course, that any use of "setlocale" by the
preprocessor now becomes libintl_setlocale which means we
no longer have a _zif_setlocale symbol in string.o, but we
magically have a _zif_libintl_setlocale symbol. The linker
is obviously not very happy about this when basic_functions.o
tries to find _zif_setlocale.
So, let's not do that again.
------------------------------------------------------------------------
[2010-06-02 07:35:18] rasmus@php.net
I think this has to do with libintl. I see:
#undef setlocale
#define setlocale libintl_setlocale
in libintl.h which is obviously going to make a mess of things.
So, a quick compile fix is to skip the #include libintl.h in
ext/standard/string.c but someone should really give the libintl dev who
decided that was a good idea a "pat" on the back.
------------------------------------------------------------------------
[2010-05-18 12:18:08] php-bugs-2010 at ryandesign dot com
php 5.3.2 builds fine with gettext 0.17 and 0.18.
This issue only appears to affect php 5.2.x.
Adding '#include "ext/standard/php_string.h"' to
ext/standard/basic_functions.c does not change the
error message.
------------------------------------------------------------------------
[2010-05-18 10:04:40] kalle@php.net
Hi
Does this happen with 5.3 aswell? Does adding the following include
after including 'ext/standard/php_uuencode.h' work:
#include "ext/standard/php_string.h"
------------------------------------------------------------------------
[2010-05-18 05:09:31] php-bugs-2010 at ryandesign dot com
Modify summary.
------------------------------------------------------------------------
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
http://bugs.php.net/bug.php?id=51847
--
Edit this bug report at http://bugs.php.net/bug.php?id=51847&edit=1