[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #43319] Octave dev version fails to build with
From: |
Philip Nienhuis |
Subject: |
[Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64 |
Date: |
Fri, 03 Oct 2014 08:09:06 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 SeaMonkey/2.26.1 |
Follow-up Comment #2, bug #43319 (project octave):
(Thanks for having a look)
Yes only in 64-bit.
As to the error messages I have to more precise:
the compile errors do not refer to functions proper but to function arguments
that have no unambiguous resolution (and thus implicitly point back to
functions handling those arguments).
In octave-4.1.0+ it is arguments to QMin() (see verbatim in my OP), while in
e.g., the image package I see:
("pkg install -forge -verbose image" in Octave-3.8.2 64-bit)
__spatial_filtering__.cc:593:9: required from here
__spatial_filtering__.cc:191:25: error: conversion from ‘octave_int<signed
char>’ to ‘octave_idx_type {aka long int}’ is ambiguous
hist (vals (i) + add) ++;
^
__spatial_filtering__.cc:191:25: note: candidates are:
In file included from
/usr/local/include/octave-3.8.2/octave/../octave/idx-vector.h:35:0,
from
/usr/local/include/octave-3.8.2/octave/../octave/Array.h:36,
from
/usr/local/include/octave-3.8.2/octave/../octave/boolMatrix.h:27,
from
/usr/local/include/octave-3.8.2/octave/../octave/mx-base.h:32,
from
/usr/local/include/octave-3.8.2/octave/../octave/Matrix.h:30,
from
/usr/local/include/octave-3.8.2/octave/../octave/oct.h:33,
from __spatial_filtering__.cc:21:
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:884:3: note:
octave_int<T>::operator float() const [with T = signed char]
operator float (void) const { return float_value (); }
^
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:882:3: note:
octave_int<T>::operator double() const [with T = signed char]
operator double (void) const { return double_value (); }
^
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:878:3: note:
octave_int<T>::operator T() const [with T = signed char]
operator T (void) const { return value (); }
^
In file included from
/usr/local/include/octave-3.8.2/octave/../octave/boolMatrix.h:27:0,
from
/usr/local/include/octave-3.8.2/octave/../octave/mx-base.h:32,
from
/usr/local/include/octave-3.8.2/octave/../octave/Matrix.h:30,
from
/usr/local/include/octave-3.8.2/octave/../octave/oct.h:33,
from __spatial_filtering__.cc:21:
/usr/local/include/octave-3.8.2/octave/../octave/Array.h:389:6: error:
initializing argument 1 of ‘T& Array<T>::operator()(octave_idx_type) [withT
= double; octave_idx_type = long int]’
T& operator () (octave_idx_type n) { return elem (n); }
^
...which all seem to point to the issue that some conversions that work in
32-bit don't work in 64-bit.
Coincidentally I was just looking into octave-dev (the QMin error) and found
that QMin is probably a Qt function. Qt obviously has been built for 64-bit as
well so it may well expect some other <int> types that the "int" it gets from
Octave in QtHandlesUtils.
AFAICS all these errors I hit with --enable-64 in octave-dev and some OF
packages, seem to refer to conversions from some lower rank <int> type to some
other <int> type, usually long or long long int.
That gives me the the vague hope that it might just be a missing #include or
some missing conversion template(s) in a core Octave header file.
But for the same token the conversions/templates may need to be
emplaced on a case-by-case basis. That would be a lot more work.
My C++ knowledge, especially the overloading & template stuff, is lacking so
it may be just a shot in the dark.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?43319>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/03
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64,
Philip Nienhuis <=
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/04
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, Philip Nienhuis, 2014/10/05
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/05
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, Philip Nienhuis, 2014/10/05
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, Philip Nienhuis, 2014/10/05
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/05
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/06
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John Donoghue, 2014/10/06
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, John W. Eaton, 2014/10/06
- [Octave-bug-tracker] [bug #43319] Octave dev version fails to build with --enable-64, Philip Nienhuis, 2014/10/06