ID: 48608
Updated by: [email protected]
Reported By: shahar dot e at zend dot com
-Status: Open
+Status: Assigned
Bug Type: Compile Failure
Operating System: Mac OS X 10.5
PHP Version: 5.3CVS-2009-06-19 (snap)
-Assigned To:
+Assigned To: jani
Previous Comments:
------------------------------------------------------------------------
[2009-06-19 17:09:20] shahar dot e at zend dot com
I used this patch to fix it, perhaps there is a better way (like
checking a minimum version):
--- ext/readline/config.m4.orig 2009-06-19 19:50:29.000000000 +0300
+++ ext/readline/config.m4 2009-06-19 19:47:51.000000000 +0300
-43,6 +43,12 @@
-L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
])
+ dnl Check that libreadline has rl_pending_input defined
+ PHP_CHECK_LIBRARY(readline, rl_pending_input,
+ [], [
+ AC_MSG_ERROR(readline library is missing some symbols and is
probably too old)
+ ], [])
+
PHP_CHECK_LIBRARY(readline, rl_callback_read_char,
[
AC_DEFINE(HAVE_RL_CALLBACK_READ_CHAR, 1, [ ])
------------------------------------------------------------------------
[2009-06-19 17:07:15] shahar dot e at zend dot com
Description:
------------
The default libreadline version that comes with OS X is too old and
seems to be missing symbols like rl_mark, rl_pending_input,
rl_history_list, rl_on_new_line. This is not detected by ./configure
I am not sure what the minimum requirement is, but adding a check for
rl_pending_input in the config.m4 file fixed the problem for me (or more
correctly, I got proper detection by ./configure).
Reproduce code:
---------------
./configure --with-readline on a default Mac OS X setup (I think it's
4.2)
Expected result:
----------------
Configure to report a too old version of libreadline
Actual result:
--------------
Configure works, linking ext/readline fails due to missing symbols.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48608&edit=1