Edit report at http://bugs.php.net/bug.php?id=51847&edit=1
ID: 51847 Updated by: ras...@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] ras...@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] ras...@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] ka...@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