bugGNU Octave - Bugs: bug #50001, OF-tisean error: call of...

 
 

bug #50001: OF-tisean error: call of overloaded 'idx_vector(F77_INT)' is ambiguous

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Sat 07 Jan 2017 01:53:13 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Philip Nienhuis Open/Closed:  * Closed
Release:  * other Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 08 Jan 2017 08:01:08 PM UTC, comment #4: 

OF-tisean cross-builds fine with just the changes in core Octave mentioned in comment #2.

Marking as fixed and closing report

Philip Nienhuis <philipnienhuis>
Group Member
Sat 07 Jan 2017 10:40:25 PM UTC, comment #3: 

Thanks, I'll make a new mxe build to try this weekend.

Status -> Ready for test

Philip Nienhuis <philipnienhuis>
Group Member
Sat 07 Jan 2017 06:49:48 PM UTC, comment #2: 

I checked in two changes that I think will also fix the problem without requiring a change in the tisean package:

  http://hg.savannah.gnu.org/hgweb/octave/rev/7a9313d27cea
  http://hg.savannah.gnu.org/hgweb/octave/rev/198fbbf6934a

John W. Eaton <jwe>
Group administrator
Sat 07 Jan 2017 05:46:44 PM UTC, comment #1: 

The problem is that there is a prototype for idx_vector (octave_idx_type), but not one for F77_INT in the case when they are different.  I'll fix that in the idx_vector class, but until then, the quick fix for this problem is to write


  ouptut.assign (idx_vector (static_cast<octave_idx_type> (m-mindim)), tmp);


in _c1_.cc in the tisean package.

John W. Eaton <jwe>
Group administrator
Sat 07 Jan 2017 01:53:13 PM UTC, original submission:  

After the fixes from:
http://octave.1599824.n4.nabble.com/Implications-of-indexing-changes-for-code-that-calls-Fortran-tt4681221.html
(applied to the repo by Olaf)
building the tisean package breaks:

0+.exe --verbose -g -O2 -std=gnu++11 __c1__.cc source_f/d1.o source_f/istdio.o source_f/neigh.o source_f/normal.o source_f/rank.o source_f/store_spec.o source_f/ts_lazy.o source_f/ts_surrogates.o source_f/ts_upo.o source_f/libsla.a -o __c1__.oct
g++ -std=gnu++11 -c -I/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include  -IC:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\.. -IC:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave -IC:\Programs\Octave\OCTAVE~1.0_V\include  -pthread -fopenmp -g -O2 -g  -O2 -std=gnu++11   __c1__.cc -o __c1__.o
__c1__.cc: In function 'octave_value_list F__c1__(const octave_value_list&, int)': __c1__.cc:142:49: error: call of overloaded 'idx_vector(F77_INT)' is ambiguous
               output.assign (idx_vector(m-mindim), tmp);
                                                 ^
__c1__.cc:142:49: note: candidates are:
In file included from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/Array.h:38:0,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/Sparse.h:37,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/MSparse.h:31,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/MatrixType.h:29,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/mx-base.h:30,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/Matrix.h:32,
                 from C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/oct.h:30,
                 from __c1__.cc:33:
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:524:3: note: idx_vector::idx_vector(const idx_vector&)
   idx_vector (const idx_vector& a) : rep (a.rep) { rep->count++; }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:503:3: note: idx_vector::idx_vector(bool)
   idx_vector (bool x) : rep (new idx_mask_rep (x)) { chkerr (); }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:500:3: note: idx_vector::idx_vector(float)
   idx_vector (float x) : rep (new idx_scalar_rep (x)) { chkerr (); }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:498:3: note: idx_vector::idx_vector(double)
   idx_vector (double x) : rep (new idx_scalar_rep (x)) { chkerr (); }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:491:3: note: idx_vector::idx_vector(char)
   idx_vector (char c) : rep (new idx_colon_rep (c)) { chkerr (); }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:463:3: note: idx_vector::idx_vector(octave_idx_type)
   idx_vector (octave_idx_type i) : rep (new idx_scalar_rep (i))
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:435:3: note: idx_vector::idx_vector(idx_vector::idx_base_rep*) <near match>
   idx_vector (idx_base_rep *r) : rep (r) { }
   ^
C:\Programs\Octave\OCTAVE~1.0_V\include\octave-4.3.0+\octave\../octave/idx-vector.h:435:3: note:   no known conversion for argument 1 from 'F77_INT {aka int}' to 'idx_vector::idx_base_rep*'
make: *** [__c1__.oct] Error 1
make: Leaving directory `/tmp/oct-AProgQ/tisean-0.2.3/src'

pkg: error running `make' for the tisean package.
error: called from
    configure_make at line 95 column 9
    install at line 192 column 7
    pkg at line 394 column 9
>>


Would there be some #ifdefs needed around the F77_INT fixes to keep the tisean package compatible with Octave-4.2.x and below?

Philip Nienhuis <philipnienhuis>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by philipnienhuis (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-01-08 philipnienhuis StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2017-01-07 philipnienhuis StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code