From: philip Operating system: Mac OS X PHP version: 5.3.3 Package: Compile Failure Bug Type: Bug Bug description:iconv + openssl + mac = make fail
Description: ------------ Building with iconv on Mac has been an issue for years. Several bug reports elude to this problem, or morphed into it, but the problem still exists today. Probably different, but it's still here. This may only be a symptom of a larger problem, but I've finally concluded that building with iconv support is incompatible with --with-openssl on Mac. Here are my configure/make tests: ------------------------ Configure #1 (no iconv) ------------------------ ./configure --disable-all ------------------------ Make #1 (success) ------------------------ ... ------------------------ Configure #2 (includes iconv) ------------------------ ./configure --with-libxml-dir=/Users/philip/devel/libxml-274/ ------------------------ Make #2 (success) ------------------------ ... ------------------------ Configure #3 (includes iconv) ------------------------ ./configure --with-libxml-dir=/Users/philip/devel/libxml-274/ --with-openssl ------------------------ Make #3 (fail) ------------------------ gi/fastcgi.o main/internal_functions.o -lresolv -liconv -lm -lxml2 -lz -liconv -lm -lssl -lcrypto -lz -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -o sapi/cgi/php-cgi Undefined symbols: "_iconv_close", referenced from: __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 "_iconv", referenced from: __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 (maybe you meant: _iconv_functions, _zif_iconv_mime_decode , _zif_iconv_substr , _zif_iconv_strlen , _zif_iconv_strpos , _zif_ob_iconv_handler , _iconv_module_entry , _iconv_globals , _zif_iconv_mime_encode , _zif_iconv_get_encoding , _php_iconv_string , _zif_iconv_mime_decode_headers , cstring=ob_iconv_handler , _php_if_iconv , _zif_iconv_set_encoding , _zif_iconv_strrpos ) "_iconv_open", referenced from: __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 ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [sapi/cgi/php-cgi] Error 1 ------------------------ Configure #4 (includes iconv) ------------------------ ./configure --disable-all --with-openssl --with-iconv ------------------------ Make #4 (fail) ------------------------ Zend/zend_execute.o sapi/cgi/cgi_main.o sapi/cgi/fastcgi.o main/internal_functions.o -lresolv -liconv -liconv -lm -lssl -lcrypto -lz -o sapi/cgi/php-cgi Undefined symbols: "_iconv_close", referenced from: __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 "_iconv_open", referenced from: __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 ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [sapi/cgi/php-cgi] Error 1 ------------------------ Notes: ------------------------ The following allow the configure line above to work: (A) Removing iconv: Obviously, using --without-iconv allows it to compile (therefore, no iconv errors) (B) Building with iconv, and many options, but without OpenSSL: Works. (C) Same as (B) but with OpenSSL: Fails. (D) Building with or without the defaults, but including iconv and adding OpenSSL: Fails. ------------------------ Also, many "fixes" exist all over the Internet about this problem, but elude to past PHP and Mac versions, ext/iconv patches, Makefile edits, and the like. This is a real problem. I'm using iconv that comes with the Mac: phi...@water ~/php/src/try_10> iconv --version iconv (GNU libiconv 1.11) Similar (but different) bugs: bug #43189 - bug #48195 - bug #49267 -- Edit bug report at http://bugs.php.net/bug.php?id=53161&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53161&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53161&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53161&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53161&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53161&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53161&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53161&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53161&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53161&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53161&r=support Expected behavior: http://bugs.php.net/fix.php?id=53161&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53161&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53161&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53161&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53161&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53161&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53161&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53161&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53161&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53161&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53161&r=mysqlcfg