octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:


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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]