octave-maintainers
[Top][All Lists]
Advanced

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

Re: 3.1.52 fails to build in hppa/linux


From: Jaroslav Hajek
Subject: Re: 3.1.52 fails to build in hppa/linux
Date: Sun, 22 Feb 2009 19:40:40 +0100

On Sun, Feb 22, 2009 at 5:21 PM, Rafael Laboissiere <address@hidden> wrote:
> * Jaroslav Hajek <address@hidden> [2009-02-22 16:41]:
>
>> On Sun, Feb 22, 2009 at 4:08 PM, Rafael Laboissiere <address@hidden> wrote:
>> > A bug report has been filed against the octave3.1 in Debian regarding the
>> > failure to build the package on the hppa architecture.  You will find the
>> > complete bug report in http://bugs.debian.org/516588, including a link to
>> > the full build log.  In sum, it fails with errors like this:
>> >
>> > g++ -c  -fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc 
>> > -DHAVE_CONFIG_H -I/usr/include/freetype2 -Wall -W -Wshadow 
>> > -Wold-style-cast -O2 -g oct-inttypes.cc -o pic/oct-inttypes.o
>> > oct-inttypes.cc:511: error: ambiguous template specialization 
>> > 'mop<octave_int_cmp_op::lt>' for 'bool octave_int_cmp_op::mop(double, 
>> > int64_t)'
>> >
>> > Any ideas?
>> >
>> > --
>> > Rafael
>> >
>>
>> This is a bug in gcc. See, for instance,
>> http://www.nabble.com/Cast-ambiguity-compilation-error-td21532844.html
>> or any earlier thread referenced therein. Upgrading gcc should help.
>
> The version of g++ used in the hppa failing build mentioned above is 4.3.3.
> It is the same version that I use to build the packages on my amd64 system.
> Curiously enough, the automatic builds on armel [1] sparc [2] architectures
> fail in the same way.  On the other hand, building on i386 [3] and amd64 (my
> development system) succeeds.
>
> Can that be caused by the way the int64 type is defined on some
> architectures?
>
> [1] 
> http://experimental.debian.net/fetch.php?&pkg=octave3.1&ver=3.1.52-4&arch=armel&stamp=1235272806&file=log&as=raw
> [2] 
> http://experimental.debian.net/fetch.php?&pkg=octave3.1&ver=3.1.52-4&arch=sparc&stamp=1235287227&file=log&as=raw
> [3] 
> http://experimental.debian.net/fetch.php?&pkg=octave3.1&ver=3.1.52-4&arch=i386&stamp=1235278606&file=log&as=raw
>
> --
> Rafael
>

Rafael,

can you try compiling (no need to link) the following test code? It
should be a simple instance of the same issue.

class A {};

template <class X, class T> void method (double u, T v);

template <class X> void method (double u, long v);

int main ()
{
  double u; long v;
  method<A> (u, v);
}

If you get a failure, then you have a buggy gcc.

-- 
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]