|
From: | Rik |
Subject: | Re: |
Date: | Fri, 01 Mar 2013 13:48:00 -0800 |
On 03/01/2013 09:39 AM, Ben Abbott wrote: > > On Mar 1, 2013, at 12:14 PM, Rik wrote: > >> On 03/01/2013 08:53 AM, Ben Abbott wrote: >>> >>> On Mar 1, 2013, at 11:16 AM, Rik wrote: >>> >>>> On 03/01/2013 03:02 AM, address@hidden wrote: >>>>> Message: 6 >>>>> Date: Fri, 01 Mar 2013 06:02:40 -0500 >>>>> From: "John W. Eaton" >>>>> <address@hidden> >>>>> >>>>> To: Ben Abbott >>>>> <address@hidden> >>>>> >>>>> Cc: octave maintainers mailing list >>>>> <address@hidden> >>>>> >>>>> Subject: Re: interpfcn/toplev.cc:1295:24: error: too many decimal >>>>> points in number >>>>> Message-ID: >>>>> <address@hidden> >>>>> >>>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>>>> >>>>> On 02/28/2013 09:27 PM, Ben Abbott wrote: >>>>> >>>>>> My build is ending with the error below. Anyone else seeing this? >>>>>> >>>>>>> >>>>>> Ben >>>>>> >>>>>>> /bin/sh ../libtool --tag=CXX --mode=compile /opt/local/bin/g++-mp-4.5 -DHAVE_CONFIG_H -I. -I.. -I../liboctave/cruft/misc -I../liboctave/array -I../liboctave/numeric -I../liboctave/numeric -I../liboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I./octave-value -I./operators -Iparse-tree -I./parse-tree -Iinterp-core -I./interp-core -Iinterpfcn -I./interpfcn -Icorefcn -I../libgnu -I../libgnu -D_THREAD_SAFE -I/opt/local/include -I/opt/local/include -isystem /opt/local/libexec/llvm-3.1/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -pipe -O0 -g -m64 -ggdb3 -gstabs -D_THREAD_SAFE -D_THREAD_SAFE -pthread -MT interpfcn/interpfcn_libinterpfcn_la-toplev.lo -MD -MP -MF interpfcn/ >>>>>> .de >>>>>> ps/interpfcn_libinterpfcn_la-toplev.Tpo -c -o interpfcn/interpfcn_libinterpfcn_la-toplev.lo `test -f 'interpfcn/toplev.cc' || e >>>>>> >>>>> cho './'` >>>>> interpfcn/toplev.cc >>>>> >>>>>>> libtool: compile: /opt/local/bin/g++-mp-4.5 -DHAVE_CONFIG_H -I. -I.. -I../ >>>>>> liboctave/cruft/misc -I../liboctave/array -I../liboctave/numeric -I../liboctave/numeric -I../liboctave/operators -I../liboctave/operators -I../liboctave/system -I../liboctave/util -I./octave-value -I./operators -Iparse-tree -I./parse-tree -Iinterp-core -I./interp-core -Iinterpfcn -I./interpfcn -Icorefcn -I../libgnu -I../libgnu -D_THREAD_SAFE -I/opt/local/include -I/opt/local/include -isystem /opt/local/libexec/llvm-3.1/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -pipe -O0 -g -m64 -ggdb3 -gstabs -D_THREAD_SAFE -D_THREAD_SAFE -pthread -MT interpfcn/interpfcn_libinterpfcn_la-toplev.lo -MD -MP! >>>>>> -MF inter >>>>>> pfcn >>>>>> /.deps/interpfcn_libinterpfcn_la-toplev.Tpo -c interpfcn/toplev.cc -fno-common -DPIC -o interpfcn/ >>>>>> .libs/interpfcn_libinterpfcn_la-toplev.o >>>>>> >>>>>> interpfcn/toplev.cc:1295:24: error: too many decimal points in number >>>>>> >>>>>> interpfcn/toplev.cc:1295:24: error: too many decimal points in number >>>>>> >>>>>> interpfcn/toplev.cc:1376:29: error: too many decimal points in number >>>>>> >>>>>> interpfcn/toplev.cc:1376:29: error: too many decimal points in number >>>>>> >>>>>> interpfcn/toplev.cc: In function 'octave_value_list Foctave_config_info(const octave_value_list&, int)': >>>>>> >>>>>> interpfcn/toplev.cc:1295:24: error: expected '}' before 'GNU' >>>>>> >>>>>> interpfcn/toplev.cc:1295:24: error: expected '}' before 'GNU' >>>>>> >>>>>> interpfcn/toplev.cc:1295:24: error: expected ',' or ';' before 'GNU' >>>>>> >>>>>> interpfcn/toplev.cc:1233:8: warning: unused variable 'octave_supports_dynamic_linking' >>>>>> >>>>>> interpfcn/toplev.cc:1238:15: warning: unused variable 'initialized' >>>>>> >>>>>> interpfcn/toplev.cc:1248:43: warning: unused variable 'conf_info' >>>>>> >>>>>> interpfcn/toplev.cc:1295:41: warning: no return statement in function returning non-void >>>>>> >>>>>> interpfcn/toplev.cc: At global scope: >>>>>> >>>>>> interpfcn/toplev.cc:1218:1: warning: unused parameter 'args' >>>>>> >>>>>> interpfcn/toplev.cc:1295:42: error: mixing declarations and function-definitions is forbidden >>>>>> >>>>>> interpfcn/toplev.cc:1296:7: error: expected unqualified-id before '{' token >>>>>> >>>>>> interpfcn/toplev.cc:1296:44: error: expected unqualified-id before ',' token >>>>>> >>>>>> interpfcn/toplev.cc:1297:7: error: expected unqualified-id before '{' token >>>>>> >>>>>> interpfcn/toplev.cc:1297:54: error: expected unqualified-id before ',' token >>>>>> >>>>>> <snip> >>>>>> >>>>> I'm not seeing these problems. What does the source look like at these >>>>> lines for you? What is in the generated oct-conf.h file? My guess is >>>>> some system dependent problem with Rik's recent changes to the way >>>>> oct-conf.h is generated. Missing quotes? >>>>> >>>> 3/1/13 >>>> >>>> Ben, >>>> >>>> Can you send me toplev.cc your toplev.cc that is failing? I'll take a look. >>>> >>>> --Rik >>> Its attached. >>> >>> Ben >> I have the following difference between my local toplev.cc and your toplev.cc >> >> rik:~/wip/Projects_Mine/octave-dev/libinterp/interpfcn: diff toplev.cc >> ~/downloads/toplev.cc >> 642c642 >> < else if (curr_parser->curr_lexer->end_of_input) >> --- >>> else if (curr_parser->end_of_input) >> >> I'm at Mercurial revision 22bb3aa9f025+ tip. >> >> Also, per my other e-mail, can you send me your oct-conf.h.ptn file from >> directory libinterp. >> >> --Rik > > My toplev.cc has the line below. > > 642 else if (curr_parser->end_of_input) > > Which is also present in hgweb > > http://hg.savannah.gnu.org/hgweb/octave/file/23af74103b2c/libinterp/interpfcn/toplev.cc > > My oct-conf.h.ptn is attached. > > Meanwhile, I attempted a build with the change to common.mk and using your version of line 642. Unfortunately, I encountered the same error as before. > > Ben > Ben, The trouble seems to be with OCTAVE_CONF_UGLY_DEFS. This is replaced by ${UGLY_DEFS} and the resulting _expression_ in oct-conf.h is: #define OCTAVE_CONF_UGLY_DEFS ${UGLY_DEFS} UGLY_DEFS has embedded double quotes which need escaping. For example, my pattern file has s|%OCTAVE_CONF_UGLY_DEFS%|"-DPACKAGE_NAME=\\"GNU\ Octave\\" ... while yours has s|%OCTAVE_CONF_UGLY_DEFS%|"-DPACKAGE_NAME=\"GNU\ Octave\" ... This seems to be a known issue. UGLY_DEFS is created by the configure.ac code shown below ## We have to insert extra levels of backslash quoting here so that ## the right thing ends up in oct-conf.h. UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\",g'` AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS]) AC_SUBST(UGLY_DEFS) So I guess that somehow we are losing one extra backslash on Mac platforms. You could try adding some extra '\\' to the replacement _expression_ in configure.ac untill you get the correct quoting level. That would at least validate that this is indeed the problem. This is probably unrelated but we check for a 'sed' that we like with OCTAVE_PROG_SED. This is the only instance in configure.ac that actually uses $SED. The others instances all just use 'sed' which means the first on the path rather than the one that we preferred. --Rik |
[Prev in Thread] | Current Thread | [Next in Thread] |