bugGNU Octave - Bugs: bug #47100, octave-forge: interval 1.4.0 will...

 
 

bug #47100: octave-forge: interval 1.4.0 will not build in Windows

Submitter:  John Donoghue <lostbard>
Submitted:  Tue 09 Feb 2016 03:47:09 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  JohnD Open/Closed:  * Closed
Release:  * 4.0.1-rc1 Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sat 13 Feb 2016 12:53:02 AM UTC, comment #7: 

Marius, thanks for testing!

I have reported it as a suggestion upstream:
https://gforge.inria.fr/tracker/?aid=20053

Also, I have prepared a bugfix release 1.4.1, which should soon be online.

The bug can be closed.

Oliver Heimlich <oheim>
Sat 13 Feb 2016 12:32:51 AM UTC, comment #6: 

The patch from comment #3 works for me under OS X (tested under 10.9.5, but should work for 10.10 and 10.11 as well).

Marius Schamschula <mschamschula>
Sat 13 Feb 2016 12:24:23 AM UTC, comment #5: 

The “long unsigned int” parameter has either 32 or 64 bits depending on the underlying system. In case of 32-bit systems, there is a mismatch which results in an ambiguity instead of a cast from 64-bit down to 32-bit.

I am going to report this to the upstream MPFR project. They should make the parameter type independent of the system if possible.

Oliver Heimlich <oheim>
Thu 11 Feb 2016 04:25:46 PM UTC, comment #4: 

Works in fedora without the changes, but the compiler is 5.3.1, vs 4.9.3 in Windows - not sure it that has anything to do with it?

John Donoghue <lostbard>
Group Member
Wed 10 Feb 2016 10:43:29 PM UTC, comment #3: 

I don't fully understand why compilation works in GNU without warnings and why there are errors in other operating systems. I have been able to fix the problem for Windows. Please confirm if this also helps on OS X.

https://sourceforge.net/p/octave/interval/ci/e5eba0f2b8412d0091b9e41f2a43db2b5f920d8a/tree/src/mpfr_function_d.cc?diff=303772750c4beaeb0f965666ad626c4734de1178

I can provide a package tarball for testing if required.

Oliver Heimlich <oheim>
Tue 09 Feb 2016 06:24:00 PM UTC, comment #2: 

Thanks for the report, I can reproduce the error on Windows. According to Marius Schamschula, Mac+clang is also affected.

The desired type for arg.elem (i) is uint64_t in this case.

Oliver Heimlich <oheim>
Tue 09 Feb 2016 06:23:45 PM UTC, comment #1: 

The issue also exists under OS X, when building against octave 4.0.0 when using MacPorts.

Marius Schamschula <mschamschula>
Tue 09 Feb 2016 03:47:09 PM UTC, original submission:  

Tested on 4.0.0 and 4.0.1-rc3 under Windows 7.

During the install from octave forge:


g++ -c -I/scratch/jwe/src/mxe-octave/usr/i686-w64-mingw32/include  -IC:\Octave\Octave-4.0.0\include\octa
ve-4.0.0\octave\.. -IC:\Octave\Octave-4.0.0\include\octave-4.0.0\octave -IC:\Octave\Octave-4.0.0\include
 -pthread -mieee-fp -g -O2    mpfr_function_d.cc -o mpfr_function_d.o
mpfr_function_d.cc: In function 'void factorial(Matrix&, uint64NDArray, mpfr_rnd_t)':
mpfr_function_d.cc:184:41: error: conversion from 'const octave_int<long long unsigned int>' to 'long un
signed int' is ambiguous
       mpfr_fac_ui (mp, arg.elem (i), rnd);
                                         ^
mpfr_function_d.cc:184:41: note: candidates are:
In file included from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/idx-vector.h:36:0,
                 from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/Array.h:36,
                 from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/boolMatrix.h:27,
                 from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/mx-base.h:32,
                 from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/Matrix.h:30,
                 from C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/oct.h:33,
                 from mpfr_function_d.cc:18:
C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/oct-inttypes.h:891:3: note: octave_int<T>::
operator float() const [with T = long long unsigned int]
   operator float (void) const { return float_value (); }
   ^
C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/oct-inttypes.h:889:3: note: octave_int<T>::
operator double() const [with T = long long unsigned int]
   operator double (void) const { return double_value (); }
   ^
C:\Octave\Octave-4.0.0\include\octave-4.0.0\octave\../octave/oct-inttypes.h:885:3: note: octave_int<T>::
operator T() const [with T = long long unsigned int]
   operator T (void) const { return value (); }
   ^
In file included from mpfr_function_d.cc:19:0:
c:\octave\octave-4.0.0\include\mpfr.h:657:21: note: initializing argument 2 of 'int mpfr_fac_ui(mpfr_ptr
, long unsigned int, mpfr_rnd_t)'
 __MPFR_DECLSPEC int mpfr_fac_ui _MPFR_PROTO ((mpfr_ptr, unsigned long int,
                     ^
make: *** [mpfr_function_d.oct] Error 1



John Donoghue <lostbard>
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 mtmiller (Updated the item)
  • -email is unavailable- added by oheim (Posted a comment)
  • -email is unavailable- added by mschamschula (Posted a comment)
  • -email is unavailable- added by mschamschula
  • -email is unavailable- added by lostbard (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
    2016-02-15 mtmiller StatusNone Fixed
        Open/ClosedOpen Closed
    2016-02-09 mschamschula Carbon-Copy- Added mschamschula

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code