error when compiling Octave in Cygwin
Jaroslav Hajek
highegg at gmail.com
Fri Dec 12 07:28:47 CST 2008
On Fri, Dec 12, 2008 at 2:12 PM, Ivan Sutoris <ivan.sutoris at gmail.com> wrote:
> On Fri, Dec 12, 2008 at 11:19 AM, Jaroslav Hajek <highegg at gmail.com> wrote:
>> On Thu, Dec 11, 2008 at 11:27 PM, Ivan Sutoris <ivan.sutoris at gmail.com> wrote:
>> Hi Ivan,
>>
>> the saturated integer arithmetics has been almost completely rewritten
>> for better performance since 3.0.x
>> See <http://www.nabble.com/integer-arithmetics-tt19602789.html#a19602789>
>> All the heavy templating inside octave_int_cmp_op is to allow safe
>> comparison of any two integers types
>> as well as reals with integers without doing useless tests.
>> I believe that the implementation is standard-conforming; and the call
>> gcc 3.4.4 gripes about, "mop<octave_int_cmp_op::lt>(double, uint64_t)
>> is unambigous, namely
>> "static bool octave_int_cmp_op::mop(double, uint64_t) [with xop =
>> octave_int_cmp_op::lt]" should be a clear winner, as it matches the
>> arguments exactly and no deduction is necessary.
>>
>> Yeah I may still be wrong, but given that more recent compilers seem
>> to accept my code, I won't bet on it. Actually I suspected a possible
>> problem when coding that, but both compilers I tried had no problem,
>> and the alternative (introducing one more nested class) seemed less
>> elegant. gcc 4 is now out for 3.5 years, it doesn't seem right to me
>> to avoid standard-conforming code just to please an already obsolete
>> or almost-obsolete compiler.
>>
>> So, my advice is the same as Dmitri's: use gcc 4 for compiling the
>> development sources. Or maybe try upgrading to 3.4.6, chances are that
>> the problem was fixed even in 3.4 series.
>>
>> regards
>>
>>
>> --
>> RNDr. Jaroslav Hajek
>> computing expert
>> Aeronautical Research and Test Institute (VZLU)
>> Prague, Czech Republic
>> url: www.highegg.matfyz.cz
>
> Thanks for the replies. I'm not insisting on using 3.4.4, it's just
> the default version in Cygwin :) Following Dmitri's advice, I found
> out that Cygwin includes also gcc 4.3.2 (executables have suffix
> "-4"), so I tried to run configure script with parameters "CC=gcc-4
> CXX=g++-4 F77=gfortran-4", which went well. The same errors, however,
> appeared again during compilation. Are there any other configure flags
> one should setup?
>
No. Please verify in Makeconf that your configuration was properly
applied (or may have seen that during the compilation from the
commands).
Can you try compiling (not linking) the attached test program and tell
me the result? To be sure, I asked about the issue on comp-lang-c++.
But it seems to me that either there's a mistake on your side, or
you've discovered a bug in the cygwin port of gcc. In the latter case,
your proper way is to file a bug report to cygwin maintainers.
regards,
--
RNDr. Jaroslav Hajek
computing expert
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.cc
Type: text/x-c++src
Size: 178 bytes
Desc: not available
Url : https://www-old.cae.wisc.edu/pipermail/octave-maintainers/attachments/20081212/025b277f/attachment.bin
More information about the Octave-maintainers
mailing list