From octave-maintainers-request at bevo dot che dot wisc dot edu Sat Dec 9 01:28:27 2000 Subject: gperf: compiling Octave from CVS sources From: "John W. Eaton" To: John Smith Cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Sat, 9 Dec 2000 01:28:16 -0600 On 9-Dec-2000, John Smith wrote: | I have collected Octave from CVS on 8 December 2000. | | The ./configure is complaining about my gperf, and ultimately c++ complains | about lex.cc in a way which looks related. | | I have installed a new gperf; it says | | bash:> gperf --version | GNU gperf 2.7.2 | | ./configure is saying | | checking for gperf... gperf | configure: warning: I found gperf, but it does not support all of | the following options: -t -C -D -E -G -L ANSI-C -H -N; | you need gperf 2.7 or a more recent version | | | I have started to search out an explanation: I think ./configure is | doing something like: | | #! /bin/sh | | echo "%{ | %} | %% | " | /usr/local/bin/gperf -t -C -D -E -G -L ANSI-C -H octave_kw_hash -N octave_kw_lookup | | which is giving the error message | | Empty input key is not allowed. | To recognize an empty input key, your code should check for | len == 0 before calling the gperf generated lookup function. | | Can you give any advice? Please try the following patch. It sends %{ %} %% foo to gperf. You'll need to rerun autoconf, remove config.cache, run configure again, and probably also remove any incorrect version of src/oct-gperf.h that you may have generated. Thanks, jwe 2000-12-09 John W. Eaton * aclocal.m4: Give gperf a keyword, to avoid complaints from newer versions. Index: aclocal.m4 =================================================================== RCS file: /usr/local/cvsroot/octave/aclocal.m4,v retrieving revision 1.49 diff -u -r1.49 aclocal.m4 --- aclocal.m4 2000/10/31 20:03:19 1.49 +++ aclocal.m4 2000/12/09 07:26:04 at @ -875,7 +875,7 @@ if echo "%{ %} %% -" | $GPERF -t -C -D -E -G -L ANSI-C -H octave_kw_hash -N octave_kw_lookup > /dev/null 2>&1; then +foo" | $GPERF -t -C -D -E -G -L ANSI-C -H octave_kw_hash -N octave_kw_lookup > /dev/null 2>&1; then true else GPERF=""