version 0.8.2 again ginsh compile broken with libreadline4 in Debian?
Here are the compiler messages: make[2]: Entering directory `/var/tmp/GiNaC-0.8.2/ginsh' sed -n -f ./ginsh_fcn_help.sed <ginsh.1 >ginsh_fcn_help.c sed -n -f ./ginsh_op_help.sed <ginsh.1 >ginsh_op_help.c c++ -DHAVE_CONFIG_H -I. -I. -I.. -I./../ginac -I../ginac -DIN_GINAC -g -O2 -c ginsh_parser.cc In file included from /usr/include/readline/keymaps.h:37, from /usr/include/readline/readline.h:37, from ginsh.h:36, from ginsh_parser.yy:41: /usr/include/readline/rltypedefs.h:48: invalid exception specifications /usr/include/readline/rltypedefs.h:51: invalid exception specifications /usr/include/readline/rltypedefs.h:52: invalid exception specifications /usr/include/readline/rltypedefs.h:54: invalid exception specifications /usr/include/readline/rltypedefs.h:55: invalid exception specifications /usr/include/readline/rltypedefs.h:57: invalid exception specifications /usr/include/readline/rltypedefs.h:59: invalid exception specifications /usr/include/readline/rltypedefs.h:62: invalid exception specifications /usr/include/readline/rltypedefs.h:65: invalid exception specifications /usr/include/readline/rltypedefs.h:70: invalid exception specifications /usr/include/readline/rltypedefs.h:73: invalid exception specifications /usr/include/readline/rltypedefs.h:75: invalid exception specifications /usr/include/readline/rltypedefs.h:76: invalid exception specifications /usr/include/readline/rltypedefs.h:78: invalid exception specifications /usr/include/readline/rltypedefs.h:79: invalid exception specifications /usr/include/readline/rltypedefs.h:80: invalid exception specifications /usr/include/readline/rltypedefs.h:81: invalid exception specifications In file included from /usr/include/readline/readline.h:38, from ginsh.h:36, from ginsh_parser.yy:41: /usr/include/readline/tilde.h:55: invalid exception specifications ginsh_parser.yy: In function `char ** fcn_completion(char *, int, int)': ginsh_parser.yy:705: `filename_completion_function' undeclared (first use this function) ginsh_parser.yy:705: (Each undeclared identifier is reported only once ginsh_parser.yy:705: for each function it appears in.) ginsh_parser.yy:705: implicit declaration of function `int completion_matches(...)' ginsh_parser.yy:711: return to `char **' from `int' lacks a cast ginsh_parser.yy: In function `int main(int, char **)': ginsh_parser.yy:777: assignment to `char *' from `const char *' discards qualifiers make[2]: *** [ginsh_parser.o] Error 1 make[2]: Leaving directory `/var/tmp/GiNaC-0.8.2/ginsh' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/GiNaC-0.8.2' make: *** [all-recursive-am] Error 2 When I compile ginac without ginsh, it compiles fine. --JS
On Wed, 25 Apr 2001, Julian Stoev wrote:
In file included from /usr/include/readline/keymaps.h:37, from /usr/include/readline/readline.h:37, from ginsh.h:36, from ginsh_parser.yy:41: /usr/include/readline/rltypedefs.h:48: invalid exception specifications [...]
What is your exact version of libreadline4-dev? What does /usr/include/readline/rltypedefs.h say at line 48? On my machine this is right inside a comment!!! Regards -richy. -- Richard Kreckel <Richard.Kreckel@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/>
On Wed, Apr 25, 2001 at 01:20:55PM +0200, Richard B. Kreckel wrote: |On Wed, 25 Apr 2001, Julian Stoev wrote: |> In file included from /usr/include/readline/keymaps.h:37, |> from /usr/include/readline/readline.h:37, |> from ginsh.h:36, |> from ginsh_parser.yy:41: |> /usr/include/readline/rltypedefs.h:48: invalid exception specifications |[...] | |What is your exact version of libreadline4-dev? What does |/usr/include/readline/rltypedefs.h say at line 48? On my machine this is |right inside a comment!!! bash-2.05$ dpkg -l libreadline4-dev ii libreadline4-dev 4.2-2 GNU readline and history libraries, development files. On line 48 there is typedef int rl_command_func_t __P((int, int)); I am puzzled ... --JS
On Wed, 25 Apr 2001, Julian Stoev wrote:
On Wed, Apr 25, 2001 at 01:20:55PM +0200, Richard B. Kreckel wrote: |On Wed, 25 Apr 2001, Julian Stoev wrote: |> In file included from /usr/include/readline/keymaps.h:37, |> from /usr/include/readline/readline.h:37, |> from ginsh.h:36, |> from ginsh_parser.yy:41: |> /usr/include/readline/rltypedefs.h:48: invalid exception specifications |[...] | |What is your exact version of libreadline4-dev? What does |/usr/include/readline/rltypedefs.h say at line 48? On my machine this is |right inside a comment!!!
bash-2.05$ dpkg -l libreadline4-dev ii libreadline4-dev 4.2-2 GNU readline and history libraries, development files.
On line 48 there is typedef int rl_command_func_t __P((int, int));
Indeed, specifying throw() in extern "C" by carelessly using the __P macro is what causes the problem. I guess it is currently impossible to #include <readline/readline.h> from within any C++ program with this release of readline4. :-( <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=95048&repeatmerged=yes> Feel free to help them on this one. Maybe one should increase the severity of this bug from "normal" to something release-critical. My satanic plan is: I'll dupload now anyways so the build-daemon will bark bugreports which we can then use to exert some pressure in case nothing happens. Thanks for pointing this out -richy. -- Richard Kreckel <Richard.Kreckel@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/>
participants (2)
-
Julian Stoev
-
Richard B. Kreckel