ID: 49267 Comment by: Lawrence dot Sewell at vt dot edu Reported By: s dot rost at ewerk dot com Status: Assigned Bug Type: Compile Failure Operating System: Mac OSX 10.6 Snow Leopard PHP Version: 5.3, 6 (2009-08-18) Assigned To: scottmac New Comment:
Moving this thread to a positive note, making these two changes does work for my system with PHP-5.3.0: sw_vers - ProductName: Mac OS X Server ProductVersion: 10.6.1 BuildVersion: 10B504 gcc -v - Thread model: posix gcc version 4.2.1 (Apple Inc. build 5646) machine - i486 1) Add "-lresolv" to MH_BUNDLE_FLAGS, EXTRA_LDFLAGS and EXTRA_LDFLAGS_PROGRAM in "Makefile" 2) Change "ext/iconv/iconv.c" 186c186 < #define iconv libiconv --- > #define iconv iconv Previous Comments: ------------------------------------------------------------------------ [2009-10-05 13:45:31] cest_robert at hotmail dot com I tried the same fixes using a MacBook 2.0 Ghz, 10.6.1 fresh install. Installed libiconv from Macports 1.8.1 (along with libjpeg, libpng, etc.) and ensured it was a 64-bit library using "file /opt/local/lib/libiconv.dylib". Tried each combination (edited ext/iconv/iconv.c file line 185, edited Makefile to include -lresolv) but nothing allows the system to compile correctly. The error is always: Undefined symbols: "_libiconv_open", referenced from: _do_convert in gdkanji.o _convert in encodings.o "_libiconv", referenced from: _do_convert in gdkanji.o __php_iconv_appendl in iconv.o __php_iconv_appendl in iconv.o _php_iconv_string in iconv.o _php_iconv_string in iconv.o __php_iconv_strlen in iconv.o __php_iconv_substr in iconv.o __php_iconv_strpos in iconv.o __php_iconv_mime_encode in iconv.o __php_iconv_mime_encode in iconv.o __php_iconv_mime_encode in iconv.o __php_iconv_mime_encode in iconv.o __php_iconv_mime_encode in iconv.o __php_iconv_mime_encode in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o _convert in encodings.o "_libiconv_close", referenced from: _do_convert in gdkanji.o _convert in encodings.o ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [libs/libphp5.bundle] Error 1 I've even tried NOT using libiconv with "--without-iconv" in the PHP config script, but it *still* gives this error no matter what happens. Spent 3 days now searching for fixes, trying different combinations of patches and suggestions, but nothing works. I'm completely stumped. ------------------------------------------------------------------------ [2009-09-28 19:05:37] bj...@php.net This issue looks like the same issue as I fixed on FreeBSD some years ago. If I can access to that OSX platform I'm sure I can fix it while Scott is away.. ------------------------------------------------------------------------ [2009-09-23 23:53:35] mattcsl at gmail dot com For php-5.3.0, php-5.3.1RC1, and a snapshot build I have tried adding -lresolv to EXTRA_LIBS and MH_BUNDLE_FLAGS in Makefile I have edited ext/iconv/iconv.c like the thread has said. I even patched iconv.c with the patch that was posted at the end of this thread. Absolutely none of this solves the linking problem! This is seriously ruining my day. Why is this not working.... Mac OS X 10.6.1 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-zip --enable-ftp --with-gd --with-jpeg-dir=/usr/local/lib --with-curl --with-iconv-dir=/usr Undefined symbols: "_libiconv_open", referenced from: _do_convert in gdkanji.o __php_iconv_strlen in iconv.o _php_iconv_string in iconv.o __php_iconv_strpos in iconv.o __php_iconv_mime_decode in iconv.o __php_iconv_mime_decode in iconv.o _zif_iconv_substr in iconv.o _zif_iconv_substr in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _php_iconv_stream_filter_factory_create in iconv.o "_libiconv", referenced from: _do_convert in gdkanji.o __php_iconv_strlen in iconv.o _php_iconv_string in iconv.o _php_iconv_string in iconv.o __php_iconv_strpos in iconv.o __php_iconv_appendl in iconv.o __php_iconv_appendl in iconv.o _zif_iconv_substr in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o _php_iconv_stream_filter_append_bucket in iconv.o "_libiconv_close", referenced from: _do_convert in gdkanji.o __php_iconv_strlen in iconv.o _php_iconv_string in iconv.o _php_iconv_string in iconv.o __php_iconv_strpos in iconv.o __php_iconv_mime_decode in iconv.o __php_iconv_mime_decode in iconv.o __php_iconv_mime_decode in iconv.o _zif_iconv_substr in iconv.o _zif_iconv_substr in iconv.o _php_iconv_stream_filter_dtor in iconv.o _zif_iconv_mime_encode in iconv.o _zif_iconv_mime_encode in iconv.o ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [libs/libphp5.bundle] Error 1 ------------------------------------------------------------------------ [2009-09-15 22:26:59] j dot jeising at gmail dot com Apple already added a path to it's own sources: http://opensource.apple.com/source/apache_mod_php/apache_mod_php- 53/patches/iconv.patch With the parameters provided in the Makefile this works seamless: --with-iconv-dir=/usr ------------------------------------------------------------------------ [2009-09-15 19:29:50] skovjuice at gmail dot com I had this issue on OSX 10.6: Undefined symbols: "_libiconv_open", referenced from: _do_convert in gdkanji.o "_libiconv", referenced from: _do_convert in gdkanji.o "_libiconv_close", referenced from: _do_convert in gdkanji.o ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [libs/libphp5.bundle] Error 1 Managed to solve it by doing as described in the first post on the latest PHP 5.3 snapshot. ------------------------------------------------------------------------ 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/49267 -- Edit this bug report at http://bugs.php.net/?id=49267&edit=1