bugGNU Octave - Bugs: bug #43319, Octave dev version fails to build...

 
 

bug #43319: Octave dev version fails to build with --enable-64

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Sun 28 Sep 2014 05:43:42 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  lostbard
Originator Name:  Philip Nienhuis Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 06 Jan 2015 06:50:25 PM UTC, comment #28: 

@Philip:

My attempt to repeat to build mxe-octave in Ubuntu Desktop Linux 14.10 failed already when building BLAS library ...
I did follow the official steps mentioned here http://wiki.octave.org/MXE
Then I tried to follow your steps below and ended up with same error.

Getting always same error during make:

> Failed to build package blas!
> ------------------------------------------------------------
> Makefile:171: recipe for target 'isamax.o' failed
> make[2]: * [isamax.o] Error 127
> make[2]: Leaving directory '/opt/mxe-octave-a5e6d54bcd60/tmp-blas/BLAS'
> /opt/mxe-octave-a5e6d54bcd60/Makefile:674: recipe for target 'build-only-blas' failed
> make[1]: * [build-only-blas] Error 2
> make[1]: Leaving directory '/opt/mxe-octave-a5e6d54bcd60'
> real 0m1.109s
> user 0m0.328s
> sys 0m0.824s
> ------------------------------------------------------------
> [log]      /opt/mxe-octave-a5e6d54bcd60/log/blas
>
> Makefile:674: recipe for target '/opt/mxe-octave-a5e6d54bcd60/installed-packages/blas' failed
> make: * [/opt/mxe-octave-a5e6d54bcd60/installed-packages/blas] Error 1
> root@ubuntu:/opt/mxe-octave-a5e6d54bcd60#


As I am neither experienced enough with MXE nor I have time to work it out and as I already succeeded with official Octave 3.8.2 sources compilation (with small modification of one source file - /libinterp/dldfcn/amd.cc) and it works for both root and non-root users with ability to specify the lib and octave installation directory (defaulted to /usr/local) - this is for me good enough solution and I leave it to you and other MXE build experts to find out the correct way for other Linux distros.



richard <calaba>
Mon 05 Jan 2015 09:49:02 PM UTC, comment #27: 

Slight amendment:
When running Octave from the mxe build tree, you need to start Octave with a shell script rather than with the executable itself:


#!/bin/bash
export PATH=/full/path/to/<your_mxe_build_dir>/usr/bin:$PATH
octave-<version> --force-gui &


otherwise the regular system bin dirs (/usr/local/bin etc.) come first in the PATH.

I suppose it's simply a matter of proper prefixing at configure time to cure this.

Philip Nienhuis <philipnienhuis>
Group Member
Mon 05 Jan 2015 09:15:57 PM UTC, comment #26: 

@richard comment #25  (and as a confirmation that mxe --enable-64 works fine)

I've just built Octave 3.9.0+ and 4.1.0+ with --enable-64 (64-bit indexing) on Linux along the lines JWE sketched in comment #13.

It took only this:

- install all dependencies for mxe (not so much)

- do:
hg clone http://hg.octave.org/mxe-octave <your_mxe_build_dir>

cd  <your_mxe_build_dir>

autoconf

./configure --enable-system-gcc --enable-64 --enable-lib64-directory --disable-jit --enable-native-build --enable-pic-flag --host=gnu-linux    ## see comment #13, all on one line

- build plain 32-bit octave-3.9.0+ & 4.1.0+ dist archives (make all dist), or download 4.1.0+ from hydra

- edit <your_mxe_build_dir>/src/octave.mk to enter 3.9.0+ & 4.1.0+ (in separate runs) with the openssl sha1 checksums

- make tar-dist JOBS=9   ## or any number you see fit)

- wait (with a core i5 system ~ 1.5 - 2 hours time to do other things)

and then it's a mere matter of editing your window manager's  menu and adding:
/full/path/to/<your_mxe_build_dir>/usr/bin/octave-<version> --force-gui
(+ optionally hunt down the icon in ..../usr/share/octave/<version>/imagelib)

Note that with 4.1.0+ you'll currently have to edit <mxe>/src/octave.mk and add:

--without-sndlib \
--without-portaudio \

in the EXTRA_CONFIG_OPTIONS section as the sound stuff won't build with --enable-64

Philip Nienhuis <philipnienhuis>
Group Member
Sun 04 Jan 2015 10:56:30 AM UTC, comment #25: 

@richard (comment #24)

You've done a lot of work which at first sight shouldn't have been needed. One of the issues you correctly mention is lack of documentation.

The easiest would (should) have been to build a 64-bit Octave using mxe-octave; that would have saved you lots of work as mxe-octave builds all the required dependencies for you w. 64-bit indexing. See comment #13 in this thread.

JWE didn't tell there how to get it installed (AFAIK on Linux Octave has hard-coded paths, contrary to Windows where Octave also has hard-coded paths but relative to a relocatable Mingw/MSYS installation); but I suppose this is a matter of proper PREFIX stuff and maybe it's even easier.

That said, last week I tried this (building a Linux 64-bit idx. Octave) with mxe-octave (for bug #43908) but already at the very start I ran into issues, i.e., when building pkg-config (its configure couldn't get gcc to work). ATM I have no time/priority to sort that out sufficiently for a bug report; maybe my Linux distro is the issue here (mageia-4 64b, almost out-of-support, 4.1 is current). I'll pickup there later on.

Philip Nienhuis <philipnienhuis>
Group Member
Sun 04 Jan 2015 08:54:10 AM UTC, comment #24: 

Not sure how much is this relevant - but maybe someone searching in this thread will find this info useful.

I did struggle a lot with compiling Octave using --enable-64 switch. The compilation of Octave source code wasn't that big of a deal - but when running make check I was getting various errors in various test scripts depending on the 3rd party libraries (ARPACK, BLAS, LAPACK, ...) I had in my Linux distribution (Ubuntu Desktop 14.xx).

Finally I made it working - it required to recompile many libraries with 64bit indexing -> more details here: https://github.com/calaba/octave-3.8.2-enable-64-ubuntu-14.04

richard <calaba>
Wed 12 Nov 2014 03:21:11 PM UTC, comment #23: 

Closing as fixed

John Donoghue <lostbard>
Group Member
Tue 28 Oct 2014 12:19:41 PM UTC, comment #22: 
John Donoghue <lostbard>
Group Member
Sat 18 Oct 2014 01:48:41 PM UTC, comment #21: 

You are right - I missed the default settings '-'.

OCTAVE_BUILD isnt needed, kind of just an artifact from the old rules.

Fixed all in this patch.

(file #32290)

John Donoghue <lostbard>
Group Member
Sat 18 Oct 2014 12:42:20 PM UTC, comment #20: 

John D:

I haven't tested your patch, but it looks like there is some inconsistency with the definition of ENABLE_OCTAVE.  The default value doesn't have a trailing dash but two of the individual settings do.

Is OCTAVE_BUILD really needed?  Where is it used?

It looks like the STABLE_BUILD variable is eliminated but that would still be used in the binary-dist-rules.mk file.

John W. Eaton <jwe>
Group administrator
Sat 18 Oct 2014 12:27:26 PM UTC, comment #19: 

How about something like this (attached)

The --enable-stable (and --disable-stable) was allowing selection between the offical stable, and the source on the alpha site.

I have changed it to --enable-octave=xxxxxx where xxxx=alpha, stable or default (no value given defaults to stable)

The alpha and stable are the using teh sources that they already were.
default is the default sources from comment 18.



(file #32289)

John Donoghue <lostbard>
Group Member
Tue 14 Oct 2014 12:35:09 PM UTC, comment #18: 

Not sure if you meant a snapshot of current stable or default, but there is a source built from default always available at http://hydra.nixos.org/job/gnu/octave-default/tarball/latest/download

Mike Miller <mtmiller>
Group Member
Thu 09 Oct 2014 08:21:19 PM UTC, comment #17: 

I'm not sure what to do about the gnulib isatty patch.  The current src/octave.mk file in mxe-octave is using a snapshot version of octave 3.8.2, which probably does need the isatty patch.  Current versions of Octave don't need that file, but there isn't a snapshot available from an ftp site either.  It might be nice to modify the build system so that it can grab the current sources from hg, but I don't have time to try to make those changes now.

John W. Eaton <jwe>
Group administrator
Thu 09 Oct 2014 08:14:57 PM UTC, comment #16: 

I checked in a change for the qMin problem.  It's a trivial change but it took two changesets because I was careless and there was a typo in the first change.

http://hg.savannah.gnu.org/hgweb/octave/rev/eb9b2160e878
http://hg.savannah.gnu.org/hgweb/octave/rev/b8ffcb88d77c

John W. Eaton <jwe>
Group administrator
Mon 06 Oct 2014 07:57:43 PM UTC, comment #15: 

I'll push the changes.

Yes, the fix for QtHandlesUtils should work for 32- or 64-bit indexing.

John W. Eaton <jwe>
Group administrator
Mon 06 Oct 2014 06:46:31 PM UTC, comment #14: 

Of course you're right, 64-bit indexing is a special setting. Building with mxe-octave is required then for --enable-64.

Does the QtHandlesUtils.cc patch also work for 32-bit systems?
The patch fixes the original cause for the failure of --enable-64 builds in my original report.
Will you push that patch or should one of us (John D. or me) do it?

Philip Nienhuis <philipnienhuis>
Group Member
Mon 06 Oct 2014 06:18:55 PM UTC, comment #13: 

The default for most GNU/linux blas libraries (and other libraries that rely on them) is to use 32-bit indexing even on 64-bit systems like x86_64.  I don't know how to tell what library has been dynamically linked from within Octave itself or how to determine whether 32-bit indexing is being used other than perhaps to try a test call to a blas function and see if it does the right thing.

In any case, I built Octave from the default branch (hg id ec037d41da06) using the mxe-octave configure command


./configure --enable-system-gcc --enable-64 --enable-lib64-directory --disable-jit --enable-native-build --enable-pic-flag --host=gnu-linux


I also had to remove the gnulib-isatty patch as it is no longer needed.  And I added the following patch


diff -uNr a/libgui/graphics/QtHandlesUtils.cc b/libgui/graphics/QtHandlesUtils.cc
--- a/libgui/graphics/QtHandlesUtils.cc        2014-08-01 14:07:55.000000000 -0400
+++ b/libgui/graphics/QtHandlesUtils.cc        2014-10-06 08:56:32.015644544 -0400
@@ -220,8 +220,8 @@

   if (dv.length () == 3 && dv(2) == 3)
     {
-      int w = qMin (dv(1), width);
-      int h = qMin (dv(0), height);
+      int w = qMin (dv(1), static_cast<octave_idx_type> (width));
+      int h = qMin (dv(0), static_cast<octave_idx_type> (height));

       int x_off = (w < width ? (width - w) / 2 : 0);
       int y_off = (h < height ? (height - h) / 2 : 0);


Starting the resulting Octave binary and executing _run_test_suite_ produced the following results for me:


  PASS     12377
  FAIL         0
  XFAIL       10
  SKIPPED     66


I think the skipped tests are due to disabling qhull and the jit compiler.

John W. Eaton <jwe>
Group administrator
Mon 06 Oct 2014 02:31:55 PM UTC, comment #12: 

@JohnD comment #9:  my 4.1.0+ builds are still native on Mageia 4 Linux.
The builds with the errors in comment #7 are from IIRC "8cc4a9bb253b fullfile.m: Match documentation name to function variable name."
But a newer clone (":6443693a176f  maint: Periodic merge of gui-release to default") gave the same eror.

An mxe cross-build of 4.1.0+ broke last night on the gnulib-isatty patch in mxe-octave. Tonight I'll have another try (moving the patch out of the way, wasn't it needed anymore?).

@JWE comment #11:  As to the lu.cc and lsode stuff & BLAS: AFAIK I have only the x86_64 versions of the numerical libs installed through Mageia's package manager (drakinst). But I'll check a bit more rigorously tonight if a 32-bit BLAS sneaked into the 32-bit /usr/lib section through some 32-bit SW I also have installed.

Would Octave give any clue as to what bit-width libs it has been linked with, through e.g. octave_config_info?

Philip Nienhuis <philipnienhuis>
Group Member
Mon 06 Oct 2014 11:00:54 AM UTC, comment #11: 

For the lsode problem and the crash in the lu tests is is possible that you are dynamically linking with a 32-bit blas library when the tests are executed?

John W. Eaton <jwe>
Group administrator
Mon 06 Oct 2014 10:30:06 AM UTC, comment #10: 

Running make check on the linux ntibve build has issues though (mint linux):

  build/libinterp/corefcn/lsode.cc-tst ........................ LSODE--  AT T (=R1) AND STEP SIZE H (=R2), THE
       CORRECTOR CONVERGENCE FAILED REPEATEDLY
       OR WITH ABS(H) = HMIN
      In above,  R1 =  0.0000000000000D+00   R2 =  0.3802108489572D-09
 LSODE--  AT T (=R1) AND STEP SIZE H (=R2), THE
       CORRECTOR CONVERGENCE FAILED REPEATEDLY
       OR WITH ABS(H) = HMIN
      In above,  R1 =  0.0000000000000D+00   R2 =  0.6424715644617D-09
 LSODE--  AT T (=R1) AND STEP SIZE H (=R2), THE
       CORRECTOR CONVERGENCE FAILED REPEATEDLY
       OR WITH ABS(H) = HMIN
      In above,  R1 =  0.0000000000000D+00   R2 =  0.4165001171641D-09
 PASS      2/5
                                                                  FAIL    3
  build/libinterp/corefcn/lu.cc-tst ...........................panic: Segmentation fault -- stopping myself...
octave exited with signal 11



John Donoghue <lostbard>
Group Member
Mon 06 Oct 2014 10:24:30 AM UTC, comment #9: 

The  4.1.0+ failure you are getting is compiling a native octave in linux, or cross compile?

If native linux, I didnt have any issue compiling with just ./configure --enable-64, using head:
changeset:   19221:f5ad7470d957
bookmark:    @
tag:         tip
user:        Mike Miller <mtmiller@ieee.org>
date:        Sun Oct 05 16:45:08 2014 -0400
summary:     fftw: Reword error messages to be consistent with other functions

John Donoghue <lostbard>
Group Member
Sun 05 Oct 2014 11:32:23 PM UTC, comment #8: 

ok - 3.9.0+ didn't have that issue with docs - I guess I should try compiling default on my machine


John Donoghue <lostbard>
Group Member
Sun 05 Oct 2014 06:04:51 PM UTC, comment #7: 

Build error I referred to in comment #6 (+ patch attached below):

Octave successfully built. ....
<etc>
:
Making all in doc
make[2]: Entering directory '/home/philip/devel/octdev/oct410+_64/doc'
     <snip>
Making all in interpreter
make[3]: Entering directory '/home/philip/devel/octdev/oct410+_64/doc/interpreter'
../../run-octave -f -q -H -p ../../../octave-dev/doc/interpreter --eval "splineimages ('splinefit4', 'eps');"
../../run-octave -f -q -H -p ../../../octave-dev/doc/interpreter --eval "splineimages ('splinefit6', 'eps');"
../../run-octave -f -q -H -p ../../../octave-dev/doc/interpreter --eval "geometryimages ('voronoi', 'pdf');"
../../run-octave -f -q -H -p ../../../octave-dev/doc/interpreter --eval "geometryimages ('triplot', 'pdf');"
error: qr: subscript indices must be either positive integers less than 2^63 or logicals
error: qr: subscript indices must be either positive integers less than 2^63 or logicals
error: called from:
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/private/__splinefit__.m at line 560, column 16
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/private/__splinefit__.m at line 152, column 11
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/splinefit.m at line 144, column 6
error:   /home/philip/devel/octdev/octave-dev/doc/interpreter/splineimages.m at line 143, column 9
error: called from:
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/private/__splinefit__.m at line 560, column 16
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/private/__splinefit__.m at line 152, column 11
error:   /home/philip/devel/octdev/oct410+_64/../octave-dev/scripts/polynomial/splinefit.m at line 144, column 6
error:   /home/philip/devel/octdev/octave-dev/doc/interpreter/splineimages.m at line 100, column 9
Makefile:3044: recipe for target 'splinefit4.eps' failed
make[3]: *** [splinefit4.eps] Error 1
make[3]: *** Waiting for unfinished jobs....
Makefile:3046: recipe for target 'splinefit6.eps' failed
make[3]: *** [splinefit6.eps] Error 1
warning: division by zero
warning: called from
    legend at line 841 column 20
    geometryimages at line 53 column 5
warning: division by zero
warning: division by zero
warning: division by zero
warning: print.m: epstool binary is not available.
Some output formats are not available.
warning: print.m: fig2dev binary is not available.
Some output formats are not available.
warning: print.m: epstool binary is not available.
Some output formats are not available.
warning: called from
    __print_parse_opts__ at line 384 column 9
    print at line 292 column 8
    geometryimages at line 61 column 5
warning: print.m: fig2dev binary is not available.
Some output formats are not available.
make[3]: Leaving directory '/home/philip/devel/octdev/oct410+_64/doc/interpreter'
Makefile:1895: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/philip/devel/octdev/oct410+_64/doc'
Makefile:2115: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/philip/devel/octdev/oct410+_64'
Makefile:1980: recipe for target 'all' failed
make: *** [all] Error 2


This error can be fixed using the attached changeset.
The build continues then with lots of "Division by zero"s

I think the changeset is harmless as the output arg it removes isn't used anywhere.


(file #32227)

Philip Nienhuis <philipnienhuis>
Group Member
Sun 05 Oct 2014 03:35:43 PM UTC, comment #6: 

Ok, with your patch octave-4.1.0+ builds with --enable-64.

I had to specify --enable-docs=no to avoid an error with (IIRC) qr expecting an integer < some limit (I have to configure/build again to recover that exact error, will do later tonight; the successful build ran while I was away this afternoon).

"make check" crashes in l.cc-tst:

  libinterp/corefcn/lu.cc-tst .................................panic: Segmentation fault -- stopping myself...
octave exited with signal 11



As to the OF packages:
in mxe-octave, after the patch I submitted in bug #43318, the following packages in mxe-octave still won't build with 64-bit Octave:
- image
- odepkg
- fl-core
- netcdf

Philip Nienhuis <philipnienhuis>
Group Member
Sun 05 Oct 2014 11:52:50 AM UTC, comment #5: 

In the past, I have created patches for mxe-octave and used them until the of-package gets released with the fixes.
Currently sockets and fl-core still do this.

https://savannah.gnu.org/bugs/?41214
https://savannah.gnu.org/bugs/?41086


John Donoghue <lostbard>
Group Member
Sun 05 Oct 2014 10:13:14 AM UTC, comment #4: 

Thanks, I'll try later today with a 4.1.0+ build.

Your patch (a cast at the location of the actual compile error) suggests that the OF packages that won't install on 64-bit Octave (Linux or Windows or OSX) have to be patched individually as well for each individual compile error.

Would that be a job for the package maintainers, or should/could the mxe-octave developers provide patches for OF packages to be included in mxe-made installers?
I tend to opt for the former.

Philip Nienhuis <philipnienhuis>
Group Member
Sat 04 Oct 2014 10:21:17 PM UTC, comment #3: 

Patch attached that worked for me, to compile 3.9.0+, gui-release


(file #32223)

John Donoghue <lostbard>
Group Member
Fri 03 Oct 2014 08:09:06 AM UTC, comment #2: 

(Thanks for having a look)

Yes only in 64-bit.

As to the error messages I have to more precise:
the compile errors do not refer to functions proper but to function arguments that have no unambiguous resolution (and thus implicitly point back to functions handling those arguments).

In octave-4.1.0+ it is arguments to QMin() (see verbatim in my OP), while in e.g., the image package I see:

("pkg install -forge -verbose image" in Octave-3.8.2 64-bit)


__spatial_filtering__.cc:593:9:   required from here
__spatial_filtering__.cc:191:25: error: conversion from ‘octave_int<signed char>’ to ‘octave_idx_type {aka long int}’ is ambiguous
     hist (vals (i) + add) ++;
                         ^
__spatial_filtering__.cc:191:25: note: candidates are:
In file included from /usr/local/include/octave-3.8.2/octave/../octave/idx-vector.h:35:0,
                 from /usr/local/include/octave-3.8.2/octave/../octave/Array.h:36,
                 from /usr/local/include/octave-3.8.2/octave/../octave/boolMatrix.h:27,
                 from /usr/local/include/octave-3.8.2/octave/../octave/mx-base.h:32,
                 from /usr/local/include/octave-3.8.2/octave/../octave/Matrix.h:30,
                 from /usr/local/include/octave-3.8.2/octave/../octave/oct.h:33,
                 from __spatial_filtering__.cc:21:
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:884:3: note: octave_int<T>::operator float() const [with T = signed char]
   operator float (void) const { return float_value (); }
   ^
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:882:3: note: octave_int<T>::operator double() const [with T = signed char]
   operator double (void) const { return double_value (); }
   ^
/usr/local/include/octave-3.8.2/octave/../octave/oct-inttypes.h:878:3: note: octave_int<T>::operator T() const [with T = signed char]
   operator T (void) const { return value (); }
   ^
In file included from /usr/local/include/octave-3.8.2/octave/../octave/boolMatrix.h:27:0,
                 from /usr/local/include/octave-3.8.2/octave/../octave/mx-base.h:32,
                 from /usr/local/include/octave-3.8.2/octave/../octave/Matrix.h:30,
                 from /usr/local/include/octave-3.8.2/octave/../octave/oct.h:33,
                 from __spatial_filtering__.cc:21:
/usr/local/include/octave-3.8.2/octave/../octave/Array.h:389:6: error:   initializing argument 1 of ‘T& Array<T>::operator()(octave_idx_type) [withT = double; octave_idx_type = long int]’
   T& operator () (octave_idx_type n) { return elem (n); }
      ^


...which all seem to point to the issue that some conversions that work in 32-bit don't work in 64-bit.

Coincidentally I was just looking into octave-dev (the QMin error) and found that QMin is probably a Qt function. Qt obviously has been built for 64-bit as well so it may well expect some other <int> types that the "int" it gets from Octave in QtHandlesUtils.

AFAICS all these errors I hit with --enable-64 in octave-dev and some OF packages, seem to refer to conversions from some lower rank <int> type to some other <int> type, usually long or long long int.
That gives me the the vague hope that it might just be a missing #include or some missing conversion template(s) in a core Octave header file.
But for the same token the conversions/templates may need to be
emplaced on a case-by-case basis. That would be a lot more work.

My C++ knowledge, especially the overloading & template stuff, is lacking so it may be just a shot in the dark.

Philip Nienhuis <philipnienhuis>
Group Member
Fri 03 Oct 2014 05:38:28 AM UTC, comment #1: 

Using gui-release
changeset:   19181:e85203f41402
branch:      gui-release
user:        Torsten <ttl@justmail.de>
date:        Sun Sep 28 17:30:38 2014 +0200
summary:     set cursor color of the editor to color of default text (bug #43314)

It compiles ok for me in 32 bit mode - its only an issue in 64 bit?

John Donoghue <lostbard>
Group Member
Sun 28 Sep 2014 05:43:42 PM UTC, original submission:  

Not only the dev version (4.1.0+) but also gui-release (3.9.0+).
The offending code is in QtHandles.

FWIW I see more or less the same error ("no matching function for..." ...some call to a function with int* argument) when trying to install some OF packages (image, odepkg) in Octave 3.8.2 built with --enable-64.


libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../octave-dev/libgui -I.. -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/QtNetwork -I/usr/include/QtOpenGL -I/usr/include/QtGui -I/usr/include/QtCore -Igraphics -I../../octave-dev/libgui/graphics -I../../octave-dev/liboctave/cruft/misc -I../../octave-dev/liboctave/array -I../liboctave/numeric -I../../octave-dev/liboctave/numeric -I../liboctave/operators -I../../octave-dev/liboctave/operators -I../../octave-dev/liboctave/system -I../../octave-dev/liboctave/util -I../libinterp -I../../octave-dev/libinterp -I../libinterp/parse-tree -I../../octave-dev/libinterp/parse-tree -I../libinterp/corefcn -I../../octave-dev/libinterp/corefcn -I../../octave-dev/libinterp/octave-value -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread -MT graphics/graphics_libgui_graphics_la-QtHandlesUtils.lo -MD -MP -MF graphics/.deps/graphics_libgui_graphics_la-QtHandlesUtils.Tpo -c ../../octave-dev/libgui/graphics/QtHandlesUtils.cc  -fPIC -DPIC -o graphics/.libs/graphics_libgui_graphics_la-QtHandlesUtils.o
../../octave-dev/libgui/graphics/QtHandlesUtils.cc: In function 'QImage QtHandles::Utils::makeImageFromCData(const octave_value&, int, int)':
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:223:33: error: no matching function for call to 'qMin(octave_idx_type&, int&)'
       int w = qMin (dv(1), width);
                                 ^
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:223:33: note: candidate is:
In file included from /usr/include/QtCore/qnamespace.h:45:0,
                 from /usr/include/QtCore/qobjectdefs.h:45,
                 from /usr/include/QtCore/qobject.h:47,
                 from /usr/include/QtCore/qcoreapplication.h:45,
                 from /usr/include/QtGui/qapplication.h:45,
                 from /usr/include/QtGui/QApplication:1,
                 from ../../octave-dev/libgui/graphics/QtHandlesUtils.cc:27:
/usr/include/QtCore/qglobal.h:1215:34: note: template<class T> const T& qMin(const T&, const T&)
 Q_DECL_CONSTEXPR inline const T &qMin(const T &a, const T &b) { return (a < b) ? a : b; }
                                  ^
/usr/include/QtCore/qglobal.h:1215:34: note:   template argument deduction/substitution failed:
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:223:33: note:   deduced conflicting types for parameter 'const T' ('long int' and 'int')
       int w = qMin (dv(1), width);
                                 ^
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:224:34: error: no matching function for call to 'qMin(octave_idx_type&, int&)'
       int h = qMin (dv(0), height);
                                  ^
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:224:34: note: candidate is:
In file included from /usr/include/QtCore/qnamespace.h:45:0,
                 from /usr/include/QtCore/qobjectdefs.h:45,
                 from /usr/include/QtCore/qobject.h:47,
                 from /usr/include/QtCore/qcoreapplication.h:45,
                 from /usr/include/QtGui/qapplication.h:45,
                 from /usr/include/QtGui/QApplication:1,
                 from ../../octave-dev/libgui/graphics/QtHandlesUtils.cc:27:
/usr/include/QtCore/qglobal.h:1215:34: note: template<class T> const T& qMin(const T&, const T&)
 Q_DECL_CONSTEXPR inline const T &qMin(const T &a, const T &b) { return (a < b) ? a : b; }
                                  ^
/usr/include/QtCore/qglobal.h:1215:34: note:   template argument deduction/substitution failed:
../../octave-dev/libgui/graphics/QtHandlesUtils.cc:224:34: note:   deduced conflicting types for parameter 'const T' ('long int' and 'int')
       int h = qMin (dv(0), height);
                                  ^
Makefile:3370: recipe for target 'graphics/graphics_libgui_graphics_la-QtHandlesUtils.lo' failed
make[3]: *** [graphics/graphics_libgui_graphics_la-QtHandlesUtils.lo] Error 1
make[3]: Leaving directory '/home/philip/devel/octdev/oct410+_64/libgui'
Makefile:2581: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/philip/devel/octdev/oct410+_64/libgui'


Philip Nienhuis <philipnienhuis>
Group Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #32290:  octave-source3.patch added by lostbard (10KiB - text/x-patch)
file #32289:  octave-source1.patch added by lostbard (9KiB - text/x-patch)
file #32227:  __splinefit__.cs added by philipnienhuis (754B - text/x-csharp)
file #32223:  bug_fix43319.patch added by lostbard (973B - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by calaba (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by lostbard (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 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2014-11-12 lostbard StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2014-10-28 lostbard StatusPatch Submitted Ready For Test
    2014-10-18 lostbard Attached File- Added octave-source3.patch, #32290
    2014-10-18 lostbard Attached File- Added octave-source1.patch, #32289
    2014-10-05 philipnienhuis Attached File- Added _splinefit_.cs, #32227
    2014-10-04 lostbard Attached File- Added bug_fix43319.patch, #32223
        StatusNone Patch Submitted
        Assigned toNone lostbard

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code