RE: [clisp-list] clisp-2.30 build problems on Red Hat Linux 6.2

> I think you have a _very_ old readline version (where everything was
> called "foo" instead of "rl_foo" in the newer readline)
> Could you please look at unixconf.h in your build directory and see
> what READLINE_FILE_COMPLETE is being defined to?
/* CL_READLINE */
/* Define if you have <readline/readline.h>. */
#define HAVE_READLINE_READLINE_H 1
/* Define as const if the declaration of filename_completion_function()
needs const in the first argument */
#define READLINE_CONST
/* The readline built-in filename completion function, either
rl_filename_completion_function() or filename_completion_function() */
#define READLINE_FILE_COMPLETE filename_completion_function
> Could you please also look at <readline/readline.h> and see whether it
> declares `already_prompted' (instead of 'rl_already_prompted') and
> `gnu_readline_p' (instead of `rl_gnu_readline_p') &c.
> Thanks.
I find no reference to already_prompted nor gnu_readline_p at all, either
with or without the rl_ prefix. I grepped all files in
/usr/include/readline just to be sure.
> I will work out a patch and ask you to try it.
> (the easiest way would be for you to use the CVS, of course :-)
I promise I'll go read the CVS thing. You needn't make a patch. It'll
motivate me to set CVS up.
Thanks!
Dave

Thread view

I notice that the configure script has reduced the number of command line
arguments to makemake in 2.30 from that in 2.28.
<
./makemake --prefix=/home/dave/clisp --with-readline --with-gettext --with-
dynamic-ffi > Makefile
---
> ./makemake --with-dynamic-ffi --prefix=/home/dave/clisp > Makefile
The build output is included:

> * In message <AOENJKDECJBPGIGJDAALKECOCBAA.dave@...>
> * On the subject of "[clisp-list] clisp-2.30 build problems on Red Hat Linux 6.2"
> * Sent on Sat, 28 Sep 2002 09:46:47 -0700
> * Honorable "Dave Richards" <dave@...> writes:
>
> gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -DNO_GETTEXT -DNO_SIGSEGV -I. -c stream.c
> In file included from stream.d:8:
> lispbibl.d:7183: warning: register used for two global register variables
> stream.d: In function `lisp_completion':
> stream.d:9182: warning: variable `array' might be clobbered by `longjmp' or `vfork'
> stream.d:9189: warning: variable `ptr' might be clobbered by `longjmp' or `vfork'
> stream.d:9205: warning: variable `ptr1' might be clobbered by `longjmp' or `vfork'
> stream.d: In function `rd_ch_terminal3':
> stream.d:9753: `rl_already_prompted' undeclared (first use in this function)
> stream.d:9753: (Each undeclared identifier is reported only once
> stream.d:9753: for each function it appears in.)
> stream.d: In function `make_terminal_stream_':
> stream.d:10070: `rl_gnu_readline_p' undeclared (first use in this function)
> stream.d: In function `init_streamvars':
> stream.d:15296: warning: assignment from incompatible pointer type
> stream.d: In function `rl_memory_abort':
> stream.d:15410: warning: implicit declaration of function `rl_deprep_terminal'
> stream.d:15412: `rl_gnu_readline_p' undeclared (first use in this function)
> make: *** [stream.o] Error 1
I think you have a _very_ old readline version (where everything was
called "foo" instead of "rl_foo" in the newer readline)
Could you please look at unixconf.h in your build directory and see
what READLINE_FILE_COMPLETE is being defined to?
Could you please also look at <readline/readline.h> and see whether it
declares `already_prompted' (instead of 'rl_already_prompted') and
`gnu_readline_p' (instead of `rl_gnu_readline_p') &c.
Thanks.
If this is the case, please do _NOT_ upgrade your readline!!!
I will work out a patch and ask you to try it.
(the easiest way would be for you to use the CVS, of course :-)
you can also do
$ ./configure --without-readline --build build-no-readline
--
Sam Steingold (http://www.podval.org/~sds) running RedHat7.3 GNU/Linux
<http://www.camera.org&gt; <http://www.iris.org.il&gt; <http://www.memri.org/&gt;
<http://www.mideasttruth.com/&gt; <http://www.palestine-central.com/links.html&gt;
Life is like a diaper -- short and loaded.

> I think you have a _very_ old readline version (where everything was
> called "foo" instead of "rl_foo" in the newer readline)
> Could you please look at unixconf.h in your build directory and see
> what READLINE_FILE_COMPLETE is being defined to?
/* CL_READLINE */
/* Define if you have <readline/readline.h>. */
#define HAVE_READLINE_READLINE_H 1
/* Define as const if the declaration of filename_completion_function()
needs const in the first argument */
#define READLINE_CONST
/* The readline built-in filename completion function, either
rl_filename_completion_function() or filename_completion_function() */
#define READLINE_FILE_COMPLETE filename_completion_function
> Could you please also look at <readline/readline.h> and see whether it
> declares `already_prompted' (instead of 'rl_already_prompted') and
> `gnu_readline_p' (instead of `rl_gnu_readline_p') &c.
> Thanks.
I find no reference to already_prompted nor gnu_readline_p at all, either
with or without the rl_ prefix. I grepped all files in
/usr/include/readline just to be sure.
> I will work out a patch and ask you to try it.
> (the easiest way would be for you to use the CVS, of course :-)
I promise I'll go read the CVS thing. You needn't make a patch. It'll
motivate me to set CVS up.
Thanks!
Dave

> only after that you will need to upgrade your readline (if you wish
> CLISP to use it).
Which means it's better to stay on 2.29. :) I guess I am going to have to
get serious about upgrading my system. Bah!
> BTW, what does "rpm -q readline" says?
% rpm -q readline
readline-2.2.1-6