octave-maintainers
[Top][All Lists]
Advanced

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

Sun C++ - Array.cc & Sparse.cc errors


From: Rob McMahon
Subject: Sun C++ - Array.cc & Sparse.cc errors
Date: Mon, 08 Nov 2010 14:32:08 +0000
User-agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.2.11) Gecko/20101014 Lightning/1.0b2pre Thunderbird/3.1.5

I hope this is the right list. Please redirect me if I'm wrong. The help list looked more about using than installing octave.

I'm running on Solaris 10 5/09, using Sun C++ 5.10, trying to compile octave. I know some will say I should just use g++, but I don't want the mess of library incompatibilities that that means.

I'm nearly there, but I'm googled out on this.  My three big errors are

"../liboctave/Array.cc", line 2363: Error: An expression of scalar type was expected. "ov-base-mat.h", line 136: Where: While instantiating "Array<std::complex<float>>::is_sorted_rows(sortmode) const".
"ov-base-mat.h", line 136:     Where: Instantiated from non-template code.
"../liboctave/Array.cc", line 2394: Error: The operation "octave_value && bool" is illegal. "ov-base-mat.h", line 136: Where: While instantiating "Array<std::complex<float>>::is_sorted_rows(sortmode) const".
"ov-base-mat.h", line 136:     Where: Instantiated from non-template code.
2 Error(s) and 40 Warning(s) detected.
make[2]: *** [pic/data.o] Error 2
"../liboctave/Sparse.cc", line 373: Error: Cannot use bool(octave_sparse_sort_idxl*,octave_sparse_sort_idxl*) to initialize octave_sort<octave_sparse_sort_idxl*>. "../liboctave/MSparse.h", line 61: Where: While instantiating "Sparse<std::complex<double>>::Sparse(const Array<std::complex<double>>&, const
Array<int>&, const Array<int>&, int, int, bool)".
"../liboctave/MSparse.h", line 61: Where: Instantiated from non-template code.
1 Error(s) and 3 Warning(s) detected.
make[2]: *** [pic/ls-mat4.o] Error 1

These same basic errors occur for different modules, e.g.

"../liboctave/Array.cc", line 2363: Error: An expression of scalar type was expected. "ov-base-mat.h", line 136: Where: While instantiating "Array<double>::is_sorted_rows(sortmode) const".
"ov-base-mat.h", line 136:     Where: Instantiated from non-template code.
...
make[2]: *** [pic/ov-base.o] Error 2

but it all looks like the same problem.  The lines involved in Array.cc are:

    2352 template <class T>
    2353 sortmode
    2354 Array<T>::is_sorted_rows (sortmode mode) const
...
    2360   if (r <= 1 || c == 0)
    2361     return mode ? mode : ASCENDING;
    2362
>>>    2363   if (! mode)
...
>>>    2394       if (! mode && i == cols ())
    2395         mode = ASCENDING;

i.e. !mode, and in Sparse.cc:

     307 template <class T>
308 Sparse<T>::Sparse (const Array<T>& a, const Array<octave_idx_type>& r, 309 const Array<octave_idx_type>& c, octave_idx_type nr,
     310                    octave_idx_type nc, bool sum_terms)
     311   : dimensions (dim_vector (nr, nc)), idx (0), idx_count (0)
     312 {
...
     367       if (actual_nzmx == 0)
     368         rep = new typename Sparse<T>::SparseRep (nr, nc);
     369       else
     370         {
     371           OCTAVE_QUIT;
     372           octave_sort<octave_sparse_sort_idxl *>
>>>     373             lsort (octave_sparse_sidxl_comp);

Can someone point me in the right direction here ?

Cheers,

Rob

--
E-Mail: address@hidden          PHONE:  +44 24 7652 3037
Rob McMahon, IT Services, Warwick University, Coventry, CV4 7AL, England



reply via email to

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