bugGNU Octave - Bugs: bug #57585, [octave forge] (image) deprecation...

 
 

bug #57585: [octave forge] (image) deprecation warnings during installation (compilation) of image package

Submitter:  Hartmut <hardy>
Submitted:  Sun 12 Jan 2020 08:46:02 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Fixed Assigned to:  None
Originator Name:  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

Sat 25 Jan 2020 10:56:35 AM UTC, comment #16: 

I loosened the tolerances for the one failing unit test (Octave 4.2.2 under Win10) in fftconv2.m. Pushed in http://hg.code.sf.net/p/octave/image/rev/2f3f5507e700 .

I think this bug report can now be CLOSED as "fixed".

Thanks for your work, Carne, I think this was the major bit for moving towards a new release of the image package.

Hartmut <hardy>
Fri 24 Jan 2020 04:15:35 PM UTC, comment #15: 


> Whoever has the opportunity to push this change to the repo, feel free to do so.


Done in http://hg.code.sf.net/p/octave/image/rev/dced37e0b126 signed as you

> My suggestion would be, to further loosen the tolerances,


Seems reasonable. Please go ahead.

Carnë Draug <carandraug>
Group Member
Fri 24 Jan 2020 04:01:36 PM UTC, comment #14: 

I have finished testing the dev-image package (as of yesterday evening, including the proposed one-line patch of comment #13) under Window 10:

  • Installing the packages works fine, on tested Octave versions that the image package claims to support (i.e. Octave 5.1.90, 4.4.1 and 4.2.2)


  • The image package's test suite runs without any errors on Octave 5.1.90 and 4.4.1.


  • There is one single FAIL in the image test suite, in fftconv2:



>>>>> processing C:\Octave\OCTAVE~1.2\share\octave\packages\image-2.11.0+\fftconv2.m
***** test
 a = repmat (1:10, 5);
 b = repmat (10:-1:3, 7);
 assert (fftconv2 (a, b), conv2 (a, b), 1.3e4*eps)
 assert (fftconv2 (b, a), conv2 (b, a), 1.3e4*eps)
 assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1.3e4*eps)
 assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1.3e4*eps)
 assert (fftconv2 (a, b, "same"), conv2 (a, b, "same"), 1e4*eps)
 assert (fftconv2 (b, a, "same"), conv2 (b, a, "same"), 1e4*eps)
 assert (isempty (fftconv2 (a, b, "valid")));
 assert (fftconv2 (b, a, "valid"),  conv2 (b, a, "valid"), 1e4*eps)
!!!!! test failed
ASSERT errors for:  assert (fftconv2 (a, b),conv2 (a, b),1.3e4 * eps)

  Location  |  Observed  |  Expected  |  Reason
   (6,58)    9100+5.4622766e-013i     9100       Abs err 3.6788e-012 exceeds tol 2.8866e-012
   (7,58)    9100+5.701925e-013i     9100       Abs err 3.6824e-012 exceeds tol 2.8866e-012


Those tolerances were already loosened a bit for Windows, see bug #45108. (from 1e4*eps to 1.3e4*eps).

My suggestion would be, to further loosen the tolerances, for example from 1.3e4*eps to 1.8e4*eps or maybe 2e4*eps (1.6e4 is not enough). Any thoughts or objections to this?

Hartmut <hardy>
Fri 24 Jan 2020 01:08:10 PM UTC, comment #13: 

I have (for this test) exchanged the one (and only) occurance of "uint" in the header file connectivity.h by "unsigned int" (it's on line 43). And afterwards I could sucessfully install the dev-image-package on Octave 5.1.90 under Windows 10.

  • I will proceed with further tests on Win 10, now.


  • Whoever has the opportunity to push this change to the repo, feel free to do so. Otherwise I will do it during the next days.
Hartmut <hardy>
Fri 24 Jan 2020 09:08:29 AM UTC, comment #12: 


> This error I see with Octave 5.1.90 under Windows 10. It seems to also be about the missing uint type in C++


Yes, seems that I forgot to change it on the header file. Can you do it an test it? I don't have windows machines.

Carnë Draug <carandraug>
Group Member
Fri 24 Jan 2020 08:17:21 AM UTC, comment #11: 

Sorry, there seeem to be more errors. (I am using the current dev version of the image package, from the evening on January 23.)

This error I see with Octave 5.1.90 under Windows 10. It seems to also be about the missing uint type in C++:


>> pkg install image-2.11.0+(23Jan).tar.gz
In file included from connectivity.cc:17:
connectivity.h:43:38: error: 'uint' does not name a type; did you mean 'rint'?
   43 |         explicit connectivity (const uint conn);
      |                                      ^~~~
      |                                      rint
connectivity.cc:59:1: error: no declaration matches 'octave::image::connectivity::connectivity(unsigned int)'
   59 | connectivity::connectivity (const unsigned int conn)
      | ^~~~~~~~~~~~
In file included from connectivity.cc:17:
connectivity.h:36:11: note: candidates are: 'octave::image::connectivity::connectivity(octave::image::connectivity&&)'
   36 |     class connectivity
      |           ^~~~~~~~~~~~
connectivity.h:36:11: note:                 'octave::image::connectivity::connectivity(const octave::image::connectivity
&)'
connectivity.h:44:9: note:                 'octave::image::connectivity::connectivity(const octave_idx_type&, const stri
ng&)'
   44 |         connectivity (const octave_idx_type& ndims, const std::string& type);
      |         ^~~~~~~~~~~~
connectivity.h:43:18: note:                 'octave::image::connectivity::connectivity(int)'
   43 |         explicit connectivity (const uint conn);
      |                  ^~~~~~~~~~~~
connectivity.cc:31:1: note:                 'octave::image::connectivity::connectivity(const boolNDArray&)'
   31 | connectivity::connectivity (const boolNDArray& mask_arg)
      | ^~~~~~~~~~~~
In file included from connectivity.cc:17:
connectivity.h:39:9: note:                 'octave::image::connectivity::connectivity()'
   39 |         connectivity () = default;
      |         ^~~~~~~~~~~~
connectivity.h:36:11: note: 'class octave::image::connectivity' defined here
   36 |     class connectivity
      |           ^~~~~~~~~~~~
make: *** [Makefile:24: connectivity.o] Error 1


Maybe we should do a search-and-replace action for "uint" on all C-sources in the image package?

And yes, let's set this bug report back to the "open" status again.

Hartmut <hardy>
Thu 23 Jan 2020 06:53:53 PM UTC, comment #10: 

Thank you for testing it on older versions and catching this early Harmut. I have now pushed http://hg.code.sf.net/p/octave/image/rev/6e108a8b3190 which fixes it for Octave 4.2.2, 4.4.1, 5.1.0, and current development sources. I believe it also fixes in Windows but do re-open this if you find otherwise.

I have also spoken with jwe on IRC about changing the octave execution_exception to use a what member instead of message to get the error message in order to have an interface compatible with stdlib exceptions. When that comes throgh, we'll need to change the configure scripts again.

Carnë Draug <carandraug>
Group Member
Thu 23 Jan 2020 01:46:33 PM UTC, comment #9: 

Two errors here:

1) "class octave::execution_exception’ has no member named ‘message’" is because message was indeed only added for Octave 6.0.  I am now testing with Octave 4.2-5.1 and while they all throw octave::execute_exception and I can catch them, I can't figure out how to 1.1) get the actual error message (the info member is an empty string), and 1.2) how to prevent the error message from being printed which happens before the actual catch of the exception.

2) "'uint' does not name a type". Indeed, there's no such type on C++. I am building gcc which has a uint typedef to unsigned int which is why I missed it. This is now fixed with http://hg.code.sf.net/p/octave/image/rev/f8d7b21fc8c1

Carnë Draug <carandraug>
Group Member
Thu 23 Jan 2020 07:57:42 AM UTC, comment #8: 

Here is another compile error that I get with the newly patched image package.

It happens under all relevant Octave version (I tested 5.1.90, 5.1.0, 4.4.1, 4.2.2) under Windows 10:


GNU Octave, version 5.1.0
Octave was configured for "x86_64-w64-mingw32".

>> pkg install image-2.11.0+_(22Jan).tar.gz
In file included from connectivity.cc:17:0:
connectivity.h:43:38: error: 'uint' does not name a type; did you mean 'rint'?
         explicit connectivity (const uint conn);
                                      ^~~~
                                      rint
connectivity.cc:59:35: error: 'uint' does not name a type; did you mean 'rint'?
 connectivity::connectivity (const uint conn)
                                   ^~~~
                                   rint
make: *** [Makefile:24: connectivity.o] Error 1
make: Entering directory '/c/Users/root/AppData/Local/Temp/oct-ruailC/image-2.11.0+/src'
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 __spatial_filtering__.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 __bilateral__.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 __eps__.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 __custom_gaussian_smoothing__.
cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 __boundary__.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 bwfill.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 rotate_scale.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 hough_line.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 graycomatrix.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 bwdist.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 intlut.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 nonmax_suppress.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 -c strel.cc
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 imerode.cc strel.o
C:/Octave/OCTAVE~1.0/mingw64/bin/mkoctfile-5.1.0.exe  -Wall -g -O2 -c connectivity.cc
make: Leaving directory '/c/Users/root/AppData/Local/Temp/oct-ruailC/image-2.11.0+/src'

pkg: error running `make' for the image package.
error: called from
    configure_make at line 99 column 9
    install at line 184 column 7
    pkg at line 441 column 9
>>



Hartmut <hardy>
Wed 22 Jan 2020 08:15:09 PM UTC, comment #7: 

Thanks for this big patch, Carne! I've only now found the time to look at it.

Sorry that I couldn't find time to test this patch sooner as propsed. I have now done at least some minimal testing:

  • image package (default branch) compiles now fine under Octave dev (= Octave version 6 to come).
    • 3 failing tests in imrotate. But I think those are bug #57500.
    • One warning during "make check": test montage leaks file descriptor.


  • The image...tar.gz file of the image package (default branch), as compiled with dev Octave (version 6), installs fine with "pkg install ..." under dev Octave (=v6)


  • BUT: The image...tar.gz file (generated as above) does NOT install at all under Octave 5.1 release. Instead it gives the following error message:



GNU Octave, version 5.1.0

>> pkg install image-2.11.0+.tar.gz
conndef.cc: In function ‘octave_value_list Fiptcheckconn(const octave_value_list&, int)’:
conndef.cc:223:19: error: ‘class octave::execution_exception’ has no member named ‘message’
       err_msg = e.message ();
                   ^~~~~~~
make: *** [conndef.oct] Error 1
make: *** Auf noch nicht beendete Prozesse wird gewartet …
make: Verzeichnis „/tmp/oct-Cl6UaZ/image-2.11.0+/src“ wird betreten
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 __spatial_filtering__.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 __bilateral__.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 __eps__.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 __custom_gaussian_smoothing__.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 __boundary__.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 bwfill.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 rotate_scale.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 hough_line.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 graycomatrix.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 bwdist.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 intlut.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 nonmax_suppress.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 -c strel.cc
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 -c connectivity.cc
cp ntsc2rgb.m.in ntsc2rgb.m
cp rgb2ntsc.m.in rgb2ntsc.m
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 conndef.cc connectivity.o
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 bwlabeln.cc connectivity.o
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 imreconstruct.cc connectivity.o
/opt/octave-5.1.0/bin/mkoctfile-5.1.0  -Wall -g -O2 bwconncomp.cc connectivity.o
Makefile:27: recipe for target 'conndef.oct' failed
make: Verzeichnis „/tmp/oct-Cl6UaZ/image-2.11.0+/src“ wird verlassen

pkg: error running `make' for the image package.
error: called from
    configure_make at line 99 column 9
    install at line 184 column 7
    pkg at line 441 column 9
>>


I know this bug report is closed. Shall we re-open it, or shall I start a new bug report for this? I suspect this is still the same topic: exceptions...

Hartmut <hardy>
Wed 22 Jan 2020 01:00:55 PM UTC, comment #6: 

I have pushed bb23df233b37 http://hg.code.sf.net/p/octave/image/rev/bb23df233b37 so closing this as fixed.

While it would be nice to have this on stable, there's too many changes to feel comfortable on doing so.

Carnë Draug <carandraug>
Group Member
Wed 15 Jan 2020 06:04:45 PM UTC, comment #5: 

I'm attaching a proposed fix (for the default branch). Can someone give it a go (specially with older Octave versions)

(file #48236)

Carnë Draug <carandraug>
Group Member
Tue 14 Jan 2020 06:57:29 PM UTC, comment #4: 

Mike Miller wrote:

> FWIW, I have added "-Wno-deprecated-declarations" to the signal package src/Makefile to avoid these types of warnings when users install the package. I think it makes sense to ship packages with this diagnostic disabled to prevent users from being distracted by these warning messages.
>
> I think this warning message is very useful for maintainers and developers, but distracting and unhelpful for users installing the package from source.


I get this.  However, I feel in that practice what will happen is that even maintainers and developers will end up building with those warnings disabled and then get caught by surprise when it's too late.

By not disabling the warnings, hopefully maintainers and developers will catch them before the Octave release and so normals users, who don't build from development sources, won't even get to see the warnings.

Anyway, I have a local patch that fixes this for most cases.  I'm just unsure what to do when the error is coming from inside some C++ classes in the image package. Is there any documentation about what happens at all? I see nothing on the manual and on doxygen. I'm guessing that octave_value is throwing some exception when the conversion for a type fails and that the interpreter is catching them. Is that correct? What is that, how do I catch them and can a package also throw them?

Carnë Draug <carandraug>
Group Member
Tue 14 Jan 2020 06:51:33 PM UTC, comment #3: 

@Carne, @Avinoam: How shall we proceed here?

A) add a flag to our make file, in order to suppress those warnings, as suggested by Mike in comment #1 ?

B) change the code in all mentioned C-files in order to silence these warnings? Which would provoke the following questions: (1) How should this code change look like? (2) Will this work for the upcoming Octave 6 and simultanously for Octave 5 (and maybe older Octave versions)?

Hartmut <hardy>
Sun 12 Jan 2020 09:19:40 PM UTC, comment #2: 

Adding Carnë Draug

Avinoam Kalma <avinoam>
Group Member
Sun 12 Jan 2020 09:06:16 PM UTC, comment #1: 

FWIW, I have added "-Wno-deprecated-declarations" to the signal package src/Makefile to avoid these types of warnings when users install the package. I think it makes sense to ship packages with this diagnostic disabled to prevent users from being distracted by these warning messages.

I think this warning message is very useful for maintainers and developers, but distracting and unhelpful for users installing the package from source.

Mike Miller <mtmiller>
Group Member
Sun 12 Jan 2020 08:46:02 PM UTC, original submission:  

When I compile the current (dev) image package under the current dev Octave (that will become Octave 6 soon) I see a lot of deprecation warnings. The compilation eventually succeeds, but when a user makes "pkg install -forge octave" he will then also have the screen full with these deprecation warnings. This why I would like to see this changed.

Here is the current screen output from the compilation:


>> pkg install image-2.11.0+.tar.gz
__bilateral__.cc: In function ‘octave_value_list F__bilateral__(const octave_value_list&, int)’:
__bilateral__.cc:123:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __bilateral__.cc:18:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc: In function ‘octave_value_list F__custom_gaussian_smoothing__(const octave_value_list&, int)’:
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:143:3: note: in expansion of macro ‘RETURN_IF_INVALID’
   RETURN_IF_INVALID;
   ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:160:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:166:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:172:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:178:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:184:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:190:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:196:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:202:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__custom_gaussian_smoothing__.cc:110:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state) \
           ^
__custom_gaussian_smoothing__.cc:208:7: note: in expansion of macro ‘RETURN_IF_INVALID’
       RETURN_IF_INVALID;
       ^~~~~~~~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __custom_gaussian_smoothing__.cc:16:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__spatial_filtering__.cc: In function ‘octave_value_list F__spatial_filtering__(const octave_value_list&, int)’:
__spatial_filtering__.cc:374:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __spatial_filtering__.cc:21:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__spatial_filtering__.cc:397:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __spatial_filtering__.cc:21:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
__boundary__.cc: In function ‘octave_value_list F__boundary__(const octave_value_list&, int)’:
__boundary__.cc:64:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0[-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from __boundary__.cc:23:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwfill.cc: In function ‘octave_value_list Fbwfill(const octave_value_list&, int)’:
bwfill.cc:78:8: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
    if (error_state)
        ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwfill.cc:18:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwfill.cc:139:13: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
         if (error_state)
             ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwfill.cc:18:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwfill.cc:148:13: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
         if (error_state)
             ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwfill.cc:18:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
hough_line.cc: In function ‘octave_value_list Fhough_line(const octave_value_list&, int)’:
hough_line.cc:55:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from hough_line.cc:24:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
graycomatrix.cc: In function ‘octave_value_list Fgraycomatrix(const octave_value_list&, int)’:
graycomatrix.cc:61:9: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0[-Wdeprecated-declarations]
     if (error_state) {
         ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from graycomatrix.cc:24:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwdist.cc: In function ‘octave_value_list Fbwdist(const octave_value_list&, int)’:
bwdist.cc:504:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwdist.cc:19:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwdist.cc:511:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwdist.cc:19:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
connectivity.cc: In static member function ‘static double octave::image::connectivity::double_value(const octave_value&)’:
connectivity.cc:282:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state || ! val.is_scalar_type ())
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from connectivity.cc:23:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
strel.cc: In constructor ‘octave::image::strel::strel(const octave_value&)’:
strel.cc:57:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state)
           ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from strel.cc:25:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
strel.cc: In member function ‘Array<long int> octave::image::strel::pre_pad(const octave_idx_type&, const string&) const’:
strel.cc:264:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       error_state = 1;
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from strel.cc:25:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
strel.cc: In member function ‘Array<long int> octave::image::strel::post_pad(const octave_idx_type&, const string&) const’:
strel.cc:298:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       error_state = 1;
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from strel.cc:25:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
conndef.cc: In function ‘octave_value_list Fconndef(const octave_value_list&, int)’:
conndef.cc:101:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state || arg0 < 1)
           ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from conndef.cc:17:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
conndef.cc:107:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state)
           ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from conndef.cc:17:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
conndef.cc: In function ‘octave_value_list Fiptcheckconn(const octave_value_list&, int)’:
conndef.cc:221:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from conndef.cc:17:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
conndef.cc:227:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from conndef.cc:17:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
conndef.cc:236:11: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
       if (error_state || pos < 1)
           ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from conndef.cc:17:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwlabeln.cc: In function ‘octave_value_list Fbwlabel(const octave_value_list&, int)’:
bwlabeln.cc:688:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state || (n != 4 && n!= 6 && n != 8))
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwlabeln.cc:27:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwconncomp.cc: In function ‘octave_value_list Fbwconncomp(const octave_value_list&, int)’:
bwconncomp.cc:217:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwconncomp.cc:29:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwconncomp.cc: In function ‘octave_value_list Fbwareaopen(const octave_value_list&, int)’:
bwconncomp.cc:375:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwconncomp.cc:29:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
bwconncomp.cc:382:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state || lim < 0)
       ^~~~~~~~~~~
In file included from /opt/octave-dev/include/octave-6.0.0/octave/../octave/oct.h:33:0,
                 from bwconncomp.cc:29:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In function ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&)’:
imerode.cc:88:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In function ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&)’:
imerode.cc:263:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In function ‘octave_value base_action(const string&, const bool&, const octave_value_list&)’:
imerode.cc:353:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc:360:7: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
       ^~~~~~~~~~~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = boolNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:374:81:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<signed char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:376:81:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<short int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:378:83:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:380:83:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<long int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:382:83:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<unsigned char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:384:83:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<short unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:386:85:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:388:85:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<long unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:390:85:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = FloatNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:393:85:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = NDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:395:74:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = FloatComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:398:100:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = ComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:400:89:   required from here
imerode.cc:263:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = boolNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = boolNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:374:81:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<signed char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<signed char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:376:81:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<short int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<short int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:378:83:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:380:83:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<long int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<long int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:382:83:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<unsigned char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<unsigned char> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:384:83:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<short unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<short unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:386:85:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:388:85:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = intNDArray<octave_int<long unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = intNDArray<octave_int<long unsigned int> >; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:390:85:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = FloatNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = FloatNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:393:85:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = NDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = NDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:395:74:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = FloatComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = FloatComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:398:100:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
imerode.cc: In instantiation of ‘T pad_matrix(const T&, const octave::image::strel&, const double&, const string&) [with T = ComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’:
imerode.cc:255:28:   required from ‘octave_value erode(const T&, const octave::image::strel&, const string&, const bool&) [with T = ComplexNDArray; std::__cxx11::string = std::__cxx11::basic_string<char>]’
imerode.cc:400:89:   required from here
imerode.cc:88:3: warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]
   if (error_state)
   ^~
In file included from imerode.cc:27:0:
/opt/octave-dev/include/octave-6.0.0/octave/../octave/error.h:491:26: note: declared here
 extern OCTINTERP_API int error_state;
                          ^~~~~~~~~~~
For information about changes from previous versions of the image package, run 'news image'.
>>


To summarize, I think I see only warnings of this single type:

  •   warning: ‘error_state’ is deprecated: [6]: this variable is obsolete and always has the value 0 [-Wdeprecated-declarations]


Question: Can we fix this in a way that the new image release will install in older versions as well as in Octave 6?

Hartmut <hardy>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #48236:  bug57585-fix.cset added by carandraug (40KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by siko1056 (Updated the item)
  • -email is unavailable- added by avinoam (Posted a comment)
  • -email is unavailable- added by avinoam
  • -email is unavailable- added by hardy (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 13 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-04-28 siko1056 Summary[octave-forge] (image) deprecation warnings during installation (compilation) of image package [octave forge] (image) deprecation warnings during installation (compilation) of image package
    2020-01-25 carandraug StatusIn Progress Fixed
        Open/ClosedOpen Closed
    2020-01-24 carandraug Open/ClosedClosed Open
    2020-01-24 carandraug StatusFixed In Progress
    2020-01-23 carandraug StatusNone Fixed
        Open/ClosedOpen Closed
    2020-01-23 carandraug StatusFixed None
        Open/ClosedClosed Open
    2020-01-22 carandraug StatusNone Fixed
        Open/ClosedOpen Closed
    2020-01-15 carandraug Attached File- Added bug57585-fix.cset, #48236
    2020-01-12 avinoam Carbon-Copy- Added carandraug

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code