Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

tmacchant
Hello

Original post
http://octave.1599824.n4.nabble.com/mxe-octave-gnuplot-build-failure-in-linux-native-build-td4676761.html



> From: Mike Miller 

>> To: tmacchant 
>> Cc: [hidden email]
>> Date: 2016/5/5, Thu 12:17
>> Subject: Re: mxe-octave gnuplot build failure in linux-native build

>> You could take a look at my repository for building Octave along with
>> all the necessary Fortran libraries for 64-bit indexing,
>> 
>>   https://bitbucket.org/mtmiller/octave-64-bit-index-builder
>> 
>> It's similar to, but independent of mxe, I use it to build native 
> Octave
>> on Debian with 64-bit indexing for testing.
>> 


> OK. That looks like very convenient.
> I will try it later.

> Thanks!

> Tatsuro


I have tried to build octave with large arrays with your build kit.

Perhaps libraries were generated fine.
However I have met errors in compiling octave itself.

Is my compiler old? 
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1) 


I am using ubuntu 14.04 LTE amd64.

*********************************************************************************
  CXX      libinterp/template-inst/libinterp_liboctinterp_la-Array-tc.lo
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc: In member function 'Array<T> Array<T>::nth_element(const idx_vector&, int) const':
../liboctave/array/Array.cc:2343:35: error: no matching function for call to 'min(octave_idx_type&, int&)'
   dim = std::min (dv.ndims (), dim);
                                   ^
../liboctave/array/Array.cc:2343:35: note: candidates are:
In file included from /usr/include/c++/4.8/algorithm:61:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
     min(const _Tp& __a, const _Tp& __b)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2343:35: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
   dim = std::min (dv.ndims (), dim);
                                   ^
In file included from /usr/include/c++/4.8/algorithm:61:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:239:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2343:35: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
   dim = std::min (dv.ndims (), dim);
                                   ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
     min(initializer_list<_Tp> __l)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4221:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2343:35: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   dim = std::min (dv.ndims (), dim);
                                   ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4226:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2343:35: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   dim = std::min (dv.ndims (), dim);
                                   ^
../liboctave/array/Array.cc: In static member function 'static Array<T> Array<T>::cat(int, octave_idx_type, const Array<T>*)':
../liboctave/array/Array.cc:2686:44: error: no matching function for call to 'max(octave_idx_type&, int)'
   int nidx = std::max (dv.ndims (), dim + 1);
                                            ^
../liboctave/array/Array.cc:2686:44: note: candidates are:
In file included from /usr/include/c++/4.8/algorithm:61:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:216:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2686:44: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
   int nidx = std::max (dv.ndims (), dim + 1);
                                            ^
In file included from /usr/include/c++/4.8/algorithm:61:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algobase.h:260:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2686:44: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'int')
   int nidx = std::max (dv.ndims (), dim + 1);
                                            ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algo.h:4231:5: note: template<class _Tp> _Tp std::max(std::initializer_list<_Tp>)
     max(initializer_list<_Tp> __l)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4231:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2686:44: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   int nidx = std::max (dv.ndims (), dim + 1);
                                            ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ../liboctave/array/Array.h:34,
                 from ../libinterp/template-inst/Array-tc.cc:29:
/usr/include/c++/4.8/bits/stl_algo.h:4236:5: note: template<class _Tp, class _Compare> _Tp std::max(std::initializer_list<_Tp>, _Compare)
     max(initializer_list<_Tp> __l, _Compare __comp)
     ^
/usr/include/c++/4.8/bits/stl_algo.h:4236:5: note:   template argument deduction/substitution failed:
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2686:44: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   int nidx = std::max (dv.ndims (), dim + 1);

Reply | Threaded
Open this post in threaded view
|

Re: Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

Mike Miller-4
On Thu, May 05, 2016 at 17:14:35 +0900, Tatsuro MATSUOKA wrote:
> I have tried to build octave with large arrays with your build kit.
>
> Perhaps libraries were generated fine.
> However I have met errors in compiling octave itself.
>
> Is my compiler old? 
> gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1) 

Thanks for taking the time to test. It's possible, those errors look
interesting. I'll try rebuilding this on my setup, there have been a lot
of changes since I last tried building with --enable-64.

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

chechu
Good morning everyone.
The problem is still present. Trying to build with --enable-64 fails on default branch.
We tried with gcc 5.3 and gcc 6.1, both fail the same way as did gcc 4.9.
Thanks in advance, cheers Jose.
Reply | Threaded
Open this post in threaded view
|

Re: Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

Mike Miller-4
On Mon, Jun 06, 2016 at 01:49:59 -0700, chechu wrote:
> Good morning everyone.
> The problem is still present. Trying to build with --enable-64 fails on
> default branch.
> We tried with gcc 5.3 and gcc 6.1, both fail the same way as did gcc 4.9.

Thanks for the reminder, I have fixed this error on the default branch:

  http://hg.savannah.gnu.org/hgweb/octave/rev/2781d6efa88f

For future reference, a bug report would have been a more effective
reminder :)

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Compile error of octave-64-bit-index-builder (was Re: mxe-octave gnuplot build failure in linux-native build)

chechu
Thankyou for your changes Mike,

It is now possible to continue the building process.
Direct compilation is working properly with --enable-64 using gcc 5.3.
We will try also with mxe-octave alternative.

Your sincerly, Jose.