bugGNU Octave - Bugs: bug #46406, parallel-3.0.3 failed with Octave...

 
 

bug #46406: parallel-3.0.3 failed with Octave 4.0.0 and 64 bit integers on Linux

Submitter:  Martin K <grisu86>
Submitted:  Mon 09 Nov 2015 01:06:17 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 4.0.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 11 Nov 2015 02:41:34 PM UTC, comment #2: 

Applied the fix as in your patch, thanks. Did not check for further wrong usages of int, however.

Olaf Till <i7tiol>
Group Member
Tue 10 Nov 2015 07:44:28 PM UTC, comment #1: 

Adding package maintainer to CC.

Carnë Draug <carandraug>
Group Member
Mon 09 Nov 2015 01:06:17 PM UTC, original submission:  

I cannot compile the current version of the parallel package on Linux(amd64) with a 64-bit enabled Octave.  The C++ compiler used is gcc 4.8.5.

When installing parallel-3.0.3 using

pkg install -verbose -forge parallel


I get the following error

g++ -c  -fPIC -I/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/.. -I/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave -I/scratch/koehlerm/local_install/conda-2.7/include -pthread -fopenmp -g -O2 -I/scratch/koehlerm/local_install/conda-2.7/include   -Wno-int-to-pointer-cast    network_get_info.cc -o network_get_info.o
network_get_info.cc: In function ‘octave_value_list Fnetwork_get_info(const octave_value_list&, int)’:
network_get_info.cc:138:34: error: conversion from ‘int’ to ‘const idx_vector’ is ambiguous
       retval.assign (i, node_info);
                                  ^
network_get_info.cc:120:12: note: candidates are:
   for (int i = 0; i < nconns; i++)
            ^
In file included from /scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/Array.h:36:0,
                 from /scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/boolMatrix.h:27,
                 from /scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/mx-base.h:32,
                 from /scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/Matrix.h:30,
                 from /scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/oct.h:33,
                 from network_get_info.cc:24:
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:507:3: note: idx_vector::idx_vector(bool)
   idx_vector (bool x) : rep (new idx_mask_rep (x)) { chkerr (); }
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:504:3: note: idx_vector::idx_vector(float)
   idx_vector (float x) : rep (new idx_scalar_rep (x)) { chkerr (); }
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:502:3: note: idx_vector::idx_vector(double)
   idx_vector (double x) : rep (new idx_scalar_rep (x)) { chkerr (); }
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:495:3: note: idx_vector::idx_vector(char)
   idx_vector (char c) : rep (new idx_colon_rep (c)) { chkerr (); }
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:467:3: note: idx_vector::idx_vector(octave_idx_type)
   idx_vector (octave_idx_type i) : rep (new idx_scalar_rep (i))
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:430:3: note: idx_vector::idx_vector(idx_vector::idx_base_rep*) <near match>
   idx_vector (idx_base_rep *r) : rep (r) { }
   ^
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/../octave/idx-vector.h:430:3: note:   no known conversion for argument 1 from ‘int’ to ‘idx_vector::idx_base_rep*’
In file included from network_get_info.cc:30:0:
/scratch/koehlerm/local_install/conda-2.7/include/octave-4.0.0/octave/oct-map.h:429:8: error:   initializing argument 1 of ‘void octave_map::assign(const idx_vector&, const octave_map&)’
   void assign (const idx_vector& i, const octave_map& rhs);


There are two solution for this problem. On the one hand, extending the idx_vector class by a function

idx_vector(int x)

or changing the (incorrect) usage of and standard int in network_get_info.cc which is done by the attached patch.

Martin K <grisu86>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #35421:  parallel-3.0.3-wrong-int.patch added by grisu86 (532B - text/x-patch - Patch mentioned in the bug report. )

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Updated the item)
  • -email is unavailable- added by i7tiol (Posted a comment)
  • -email is unavailable- added by carandraug (Olaf Till - maintainer of parallel package)
  • -email is unavailable- added by grisu86 (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 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-03-28 mtmiller StatusNone Fixed
        Open/ClosedOpen Closed
    2015-11-10 carandraug Carbon-Copy- Added -email is unavailable-
    2015-11-09 grisu86 Attached File- Added parallel-3.0.3-wrong-int.patch, #35421

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code