bugGNU Octave - Bugs: bug #50180, OF-image fails to build with dev...

 
 

bug #50180: OF-image fails to build with dev Octave (4.3.0+)

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Sun 29 Jan 2017 05:30:18 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  philipnienhuis 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

Mon 14 Aug 2017 03:26:16 PM UTC, comment #14: 

Thanks for all the help. I think I'm straightened out now and it's all working.

Jared Sorensen <gnolaum>
Sat 12 Aug 2017 11:59:33 PM UTC, comment #13: 


> Newbie here; I installed octave from source because I'm on CentOS,


If you have this error, you did not install an Octave release. Instead, you installed the current development sources, an in between release. Unless you need some of in the development features, you should uninstall Octave and build from source one of the Octave releases.  One of these ftp://ftp.gnu.org/gnu/octave/

Carnë Draug <carandraug>
Group Member
Sat 12 Aug 2017 06:51:21 PM UTC, comment #12: 

The current development branch of the image package builds and runs for me with Octave 3.8.2, 4.0.3, 4.2.1, and Octave's default branch, so this bug is indeed resolved.

Newbie - if you need help, this is not the right forum to ask for help, try asking on the help mailing list (see https://www.octave.org/support).

Mike Miller <mtmiller>
Group Member
Sat 12 Aug 2017 05:55:44 PM UTC, comment #11: 

Assuming you have mergcurial (hg) download the current dev repo:


hg clone http://hg.code.sf.net/p/octave/image


cd image


make dist



There should now be a tarball in the target directory that may install in octave.

John Donoghue <lostbard>
Group Member
Sat 12 Aug 2017 01:25:10 AM UTC, comment #10: 

Newbie here; I installed octave from source because I'm on CentOS, which only supports octave 3.8.2 currently. I want to use something from the image package, which requires an update. Then when I tried to install the image package, I got the error being talked about here. It's not clear to me how to resolve this error. Can someone give me some instructions to follow so I can get past this error and begin to use the image package? Thanks-

Jared Sorensen <gnolaum>
Wed 15 Mar 2017 10:35:03 PM UTC, comment #9: 


> What about the patch in MXE-octave
> (http://hg.octave.org/mxe-octave/rev/74c7af6a36c0),
> should it be there after your fix?


Yes, because mxe installs the last release of a package.  It wouldn't if I backported the fix into the image package stable branch and made a new release 2.6.2.

Carnë Draug <carandraug>
Group Member
Wed 15 Mar 2017 07:31:24 PM UTC, comment #8: 

Thanks, Carnë.

What about the patch in MXE-octave
(http://hg.octave.org/mxe-octave/rev/74c7af6a36c0),
should it be there after your fix?

Avinoam Kalma <avinoam>
Group Member
Wed 15 Mar 2017 05:43:25 PM UTC, comment #7: 


> I am not sure if applying this patch to OF-image would stop OF-image to work with stable Octave.


Yes it would.

---

I made a wrapper header for the core functions that change place and added a configure check.  Seems to work for me, both 4.2.1 and development sources.

http://hg.code.sf.net/p/octave/image/rev/742462d332ad

I am not thinking of applying this to the stable branch since I hope that image 2.8 is out by the time 4.4 is out.  I would also guess that anyone building octave from development sources should be also be building the image package from source and not installing the last release.  This might be misguided so let's see if anyone complains.

Carnë Draug <carandraug>
Group Member
Sun 12 Mar 2017 08:31:03 PM UTC, comment #6: 

"it" in the second paragraph refers to the original patch (file #39964)

Philip Nienhuis <philipnienhuis>
Group Member
Sun 12 Mar 2017 08:29:23 PM UTC, comment #5: 

The namespace change that induced this bug was made on Octave's development branch, not on stable.  I am not sure if applying this patch to OF-image would stop OF-image to work with stable Octave.

BTW looking at JWE's patch:
Yesterday I applied it to my local tree as well (and I can confirm of-image gets built) but I also had to register the patch in dist-files.mk to get it picked up by the build system.

Philip Nienhuis <philipnienhuis>
Group Member
Sat 11 Mar 2017 03:36:59 PM UTC, comment #4: 

This patch fixes the problem, and it was applied by JWE to
the mxe tree (http://hg.octave.org/mxe-octave/rev/74c7af6a36c0).

Shouldn't the patch by applied to the image package itself
(http://hg.code.sf.net/p/octave/image)?

Avinoam Kalma <avinoam>
Group Member
Fri 10 Mar 2017 04:17:51 PM UTC, comment #3: 

The attached patch will avoid the problem with the call to feval being ambiguous.





(file #39964)

John W. Eaton <jwe>
Group administrator
Wed 01 Feb 2017 06:56:02 PM UTC, comment #2: 

cc'd package maintainer

Philip Nienhuis <philipnienhuis>
Group Member
Mon 30 Jan 2017 04:15:21 PM UTC, comment #1: 

Confirmed on Windows running MXE-Octave with hg_id  868daa374c49

Avinoam Kalma <avinoam>
Group Member
Sun 29 Jan 2017 05:30:18 PM UTC, original submission:  

On Linux I get:

pkg -forge -verbose image
:
:
copyfile /tmp/oct-cWZNcd/image-2.6.1/src/__bilateral__.oct /tmp/oct-cWZNcd/image-2.6.1/src/__boundary__.oct /tmp/oct-cWZNcd/image-2.6.1/src/__custom_gaussian_smoothing__.oct /tmp/oct-cWZNcd/image-2.6.1/src/__spatial_filtering__.oct /tmp/oct-cWZNcd/image-2.6.1/src/bwconncomp.oct /tmp/oct-cWZNcd/image-2.6.1/src/bwdist.oct /tmp/oct-cWZNcd/image-2.6.1/src/bwfill.oct /tmp/oct-cWZNcd/image-2.6.1/src/bwlabeln.oct /tmp/oct-cWZNcd/image-2.6.1/src/conndef.oct /tmp/oct-cWZNcd/image-2.6.1/src/graycomatrix.oct /tmp/oct-cWZNcd/image-2.6.1/src/hough_line.oct /tmp/oct-cWZNcd/image-2.6.1/src/imerode.oct /tmp/oct-cWZNcd/image-2.6.1/src/imreconstruct.oct /tmp/oct-cWZNcd/image-2.6.1/src/intlut.oct /tmp/oct-cWZNcd/image-2.6.1/src/nonmax_supress.oct /tmp/oct-cWZNcd/image-2.6.1/src/rotate_scale.oct /tmp/oct-cWZNcd/image-2.6.1/src/watershed.oct /tmp/oct-cWZNcd/image-2.6.1/inst/x86_64-pc-linux-gnu-api-v51
/home/philip/octave/image-2.6.1/x86_64-pc-linux-gnu-api-v51/bwconncomp.oct: failed to load: /home/philip/octave/image-2.6.1/x86_64-pc-linux-gnu-api-v51/bwconncomp.oct: undefined symbol: _ZN11boolNDArray6insertERKS_RK5ArrayIiE
error: called from
    which at line 34 column 5
    /home/philip/octave/image-2.6.1/x86_64-pc-linux-gnu-api-v51/PKG_ADD at line 2 column 1
    doc_cache_create>gen_doc_cache_in_dir at line 139 column 5
    doc_cache_create at line 55 column 12
    install>generate_lookfor_cache at line 797 column 5
    install at line 231 column 7
    pkg at line 394 column 9



On Windows, both while cross-building or later on when 4.3.0+ has been installed, I get similar error messages.
From the mxe-octave build log:

:
        /home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/bin/x86_64-w64-mingw32-mkoctfile --verbose  -Wall -g -O2 -c strel.cc
x86_64-w64-mingw32-g++ -std=gnu++11 -c -I/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include  -I/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/.. -I/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave -I/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include  -pthread -fopenmp -g -O2 -g  -Wall -O2   strel.cc -o strel.o
strel.cc: In constructor 'octave::image::strel::strel(const octave_value&)':
strel.cc:52:38: error: call of overloaded 'feval(const char [6], octave_value_list&)' is ambiguous
       se = feval ("strel", strel_args)(0);
                                      ^
strel.cc:52:38: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:57:35: error: call of overloaded 'feval(const char [9], octave_value&)' is ambiguous
   nhood   = feval ("getnhood",  se)(0).bool_array_value ();
                                   ^
strel.cc:57:35: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:58:35: error: call of overloaded 'feval(const char [10], octave_value&)' is ambiguous
   height  = feval ("getheight", se)(0).array_value ();
                                   ^
strel.cc:58:35: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:71:61: error: call of overloaded 'feval(const char [12], octave_value&)' is ambiguous
   const octave_value se_seq       = feval ("getsequence", se)(0);
                                                             ^
strel.cc:71:61: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:72:59: error: call of overloaded 'feval(const char [6], const octave_value&)' is ambiguous
   const octave_idx_type seq_numel = feval ("numel", se_seq)(0).idx_type_value ();
                                                           ^
strel.cc:72:59: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:89:72: error: call of overloaded 'feval(const char [8], octave_value_list&)' is ambiguous
           const octave_value_list elem = feval ("subsref", subsref_args)(0);
                                                                        ^
strel.cc:89:72: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:91:67: error: call of overloaded 'feval(const char [9], const octave_value_list&)' is ambiguous
           const boolNDArray elem_nhood  = feval ("getnhood",  elem)(0).bool_array_value ();
                                                                   ^
strel.cc:91:67: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
strel.cc:92:67: error: call of overloaded 'feval(const char [10], const octave_value_list&)' is ambiguous
           const NDArray elem_height     = feval ("getheight", elem)(0).array_value ();
                                                                   ^
strel.cc:92:67: note: candidates are:
In file included from strel.cc:27:0:
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:550:3: note: octave_value_list octave::feval(const string&, const octave_value_list&, int)
   feval (const std::string& name,
   ^
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32/include/octave-4.3.0+/octave/../octave/parse.h:635:1: note: octave_value_list feval(const string&, const octave_value_list&, int)
 feval (const std::string& name,
 ^
Makefile:22: recipe for target 'strel.o' failed
make[2]: *** [strel.o] Error 1
make[2]: Leaving directory '/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/tmp-of-image/tmp1JilfC-pkg/image-2.6.1/src'
-verbose
image-2.6.1.tar.gz
mkoctfile= /home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/bin/x86_64-w64-mingw32-mkoctfile --verbose
arch= x86_64-w64-mingw32
apiversion= api-v51
prefix= /home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/usr/x86_64-w64-mingw32
files= ['image-2.6.1.tar.gz']
verbose= True
running ./configure --host='x86_64-w64-mingw32' --build='x86_64-unknown-linux-gnu'
running make ...
cleaning up
Traceback (most recent call last):
  File "/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/tools/pkg-install.py", line 419, in <module>
    pkg(sys.argv[1:])
  File "/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/tools/pkg-install.py", line 413, in pkg
    install_pkg(a, env)
  File "/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/tools/pkg-install.py", line 316, in install_pkg
    configure_make (env, packdir)
  File "/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/tools/pkg-install.py", line 235, in configure_make
    raise Exception, "make failed during build - stopping install"
Exception: make failed during build - stopping install
/home/philip/devel/octdev/mxe/mxe_w64_qt4_20170106/Makefile:831: recipe for target 'build-only-of-image' failed
make[1]: *** [build-only-of-image] Error 1


hg id Octave:  9241a0fa7873 tip "Additional output arguments for fminsearch (bug #44220)."

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 #39964:  image-diffs.txt added by jwe (3KiB - text/plain)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by gnolaum (Posted a comment)
  • -email is unavailable- added by jwe (Updated the item)
  • -email is unavailable- added by philipnienhuis
  • -email is unavailable- added by avinoam (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 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-03-15 carandraug StatusPatch Reviewed Fixed
        Open/ClosedOpen Closed
    2017-03-11 avinoam StatusPatch Submitted Patch Reviewed
    2017-03-10 avinoam StatusConfirmed Patch Submitted
    2017-03-10 jwe Attached File- Added image-diffs.txt, #39964
    2017-03-05 avinoam Dependencies- bugs #50453 is dependent
    2017-02-01 philipnienhuis Carbon-Copy- Added carandraug
    2017-01-30 avinoam StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code