ID: 48608 Comment by: shahar dot e at zend dot com Reported By: shahar dot e at zend dot com Status: Open Bug Type: Compile Failure Operating System: Mac OS X 10.5 PHP Version: 5.3CVS-2009-06-19 (snap) New Comment:
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, [ ]) Previous Comments: ------------------------------------------------------------------------ [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