octave-maintainers
[Top][All Lists]
Advanced

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

Re: error when compiling Octave in Cygwin


From: Jaroslav Hajek
Subject: Re: error when compiling Octave in Cygwin
Date: Sun, 14 Dec 2008 19:44:48 +0100

On Sun, Dec 14, 2008 at 8:02 AM, Marco Atzeri <address@hidden> wrote:
> --- Jaroslav Hajek  ha scritto:
>
>>
>> Thanks for this test. This is really weird, because
>> I think that the
>> test program is exactly the delicate overload
>> problem that occurs in
>> oct-inttypes.h. However, you Makeconf seems to be OK
>> (contains
>> CXX=g++-4).
>>
>> Meanwhile, I think I resolved the conformance
>> question - for technical
>> details, see the discussion on comp.lang.c++:
>>
> <http://groups.google.com/group/comp.lang.c++/browse_frm/thread/398e6ba0047f902a/bcb993f190dbbf65#bcb993f190dbbf65>.
>> Unless anyone proves my reasoning wrong, the result
>> is that the code
>> is indeed standard-conforming.
>> Can you again give the error output from make, this
>> time with gcc 4?
>> I'm very surprised that it didn't even change -
>> that's suspicious. Can
>> other people try building on Cygwin? If the problem
>> persists, I think
>> it's a bug in the cygwin gcc port.
>>
>
> built on cygwin with
> configure --libexecdir=/usr/lib --enable-shared
> CFLAGS="-Dtimezone=_timezone" CC=gcc-4  F77=gfortran-4
> CXX=g++-4 CPP=cpp-4
>
>
> make[2]: Entering directory
> `/pub/hg/octave-build/liboctave'
> g++-4 -c -I/usr/include/freetype2 -I.
> -I../../octave/liboctave -I.. -I../liboctave -I../src
> -I../libcr
> uft/misc -I../../octave -I../../octave/liboctave
> -I../../octave/src -I../../octave/libcruft/misc  -DHA
> VE_CONFIG_H -mieee-fp -Wall -W -Wshadow
> -Wold-style-cast -g -O2 -I/usr/include/freetype2
> ../../octave/
> liboctave/oct-inttypes.cc -o oct-inttypes.o
> Putting child 0x01ca70a0 (oct-inttypes.o) PID 412 on
> the chain.
> Live child 0x01ca70a0 (oct-inttypes.o) PID 412
> ../../octave/liboctave/oct-inttypes.cc:511: error:
> ambiguous template specialization 'mop<octave_int_c
> mp_op::lt>' for 'bool octave_int_cmp_op::mop(double,
> int64_t)'
> ../../octave/liboctave/oct-inttypes.cc:511: error:
> ambiguous template specialization 'mop<octave_int_c
> mp_op::lt>' for 'bool octave_int_cmp_op::mop(double,
> uint64_t)'
> ../../octave/liboctave/oct-inttypes.cc:511: error:
> ambiguous template specialization 'mop<octave_int_c
> mp_op::lt>' for 'bool octave_int_cmp_op::mop(int64_t,
> double)'
> ../../octave/liboctave/oct-inttypes.cc:511: error:
> ambiguous template specialization 'mop<octave_int_c
> mp_op::lt>' for 'bool octave_int_cmp_op::mop(uint64_t,
> double)'
>
>> In that case, I'd say file a bug for cygwin, and I
>> will provide you a
>> special cygwin patch, because in principle, I don't
>> think it's good to
>> change std-conforming code due to compiler bugs
>> (unless they occur on
>> majority of platforms).
>>
>
> gcc-4 is still on test in cygwin, so a specific
> problem is possible.
>

I suppose so. In any case, obviously gcc should work equally on all
platforms and the code compiles on GNU/Linux, so either the Cygwin or
the GNU/Linux versions are buggy.

I don't use cygwin myself, but if anyone wants to file a bug, I can
assist with description of the problem (and the not-quite-trivial
reasoning why gcc is wrong).

cheers

-- 
RNDr. Jaroslav Hajek
computing expert
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz


reply via email to

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