Re: Bugs blocking the 6.1 release

"Markus Mützel" <[email protected]>
Newsgroups gmane.comp.gnu.octave.maintainers
Message-ID <trinity-5253f585-6658-43e8-96f8-67d6c02ddfbe-1589619526245@3c-app-gmx-bs29>
Am 14. Mai 2020 um 22:22 Uhr schrieb "John W. Eaton":
> On 5/14/20 3:30 PM, "Markus Mützel" wrote:
> > Am 14. Mai 2020 um 21:24 Uhr schrieb "Markus Mützel":
> >> I'll try and cross-compile for Windows next. I'll report if I should run into any issues or better if it fixes the performance issue.
> > 
> > Well, I didn't reach very far. When I tried to build the .lz source ball for hg id 64b7dedbc220 with "make all dist-lzip", I got the following error:
> > make[1]: *** No rule to make target 'scripts/legacy/@inline/module.mk', needed by 'distdir-am'.  Stop.
> > make[1]: Leaving directory '/home/osboxes/Documents/Repositories/Octave/octave-jwe/.build'
> > make: *** [Makefile:27530: distdir] Error 2
> > 
> > Markus
> > 
> 
> Can you try again?  Strip the following changeset from your repo, pull 
> again from  https://hg.octave.org/octave-jwe and you should be able to 
> execute make dist and build from the resulting tar file.
> 
>    summary: convert obsolete octave_fcn_inline object to @inline class

Thanks for the quick fix. I could successfully create the tarball with that change (hg id 178d101fd37d).

Cross-building the stable-octave target with MXE Octave fails with the following error:

/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc: In constructor 'octave::simple_fcn_handle::simple_fcn_handle(const octave_value&, const string&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:181:28: warning: declaration of 'octave_function* fcn' shadows a parameter [-Wshadow]
  181 |           octave_function *fcn = m_fcn.function_value ();
      |                            ^~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:176:44: note: shadowed declaration is here
  176 |     simple_fcn_handle (const octave_value& fcn, const std::string& name)
      |                        ~~~~~~~~~~~~~~~~~~~~^~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc: In constructor 'octave::scoped_fcn_handle::scoped_fcn_handle(const octave_value&, const string&, const std::__cxx11::list<std::__cxx11::basic_string<char> >&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:1126:26: warning: declaration of 'octave_function* fcn' shadows a parameter [-Wshadow]
 1126 |         octave_function *fcn = m_fcn.function_value ();
      |                          ^~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:1117:61: note: shadowed declaration is here
 1117 |   scoped_fcn_handle::scoped_fcn_handle (const octave_value& fcn,
      |                                         ~~~~~~~~~~~~~~~~~~~~^~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc: In member function 'bool octave::anonymous_fcn_handle::parse(const string&)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:2253:18: warning: declaration of 'anonymous_fcn_handle' shadows a member of 'octave::anonymous_fcn_handle' [-Wshadow]
 2253 |     octave_value anonymous_fcn_handle
      |                  ^~~~~~~~~~~~~~~~~~~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:471:3: note: shadowed declaration is here
  471 |   {
      |   ^
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc: In member function 'virtual bool octave_fcn_handle::load_hdf5(octave_hdf5_id, const char*)':
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:2640:27: error: cannot bind non-const lvalue reference of type 'octave_hdf5_id&' {aka 'long long int&'} to an rvalue of type 'octave_hdf5_id' {aka 'long long int'}
 2640 |       if (afh->load_hdf5 (group_hid, space_hid, type_hid))
      |                           ^~~~~~~~~
/home/osboxes/Documents/Repositories/Octave/mxe-octave-stable/tmp-stable-octave/octave-6.0.1/libinterp/octave-value/ov-fcn-handle.cc:2022:57: note:   initializing argument 1 of 'bool octave::anonymous_fcn_handle::load_hdf5(octave_hdf5_id&, octave_hdf5_id&, octave_hdf5_id&)'
 2022 |   bool anonymous_fcn_handle::load_hdf5 (octave_hdf5_id& group_hid,
      |                                         ~~~~~~~~~~~~~~~~^~~~~~~~~
make[5]: *** [Makefile:20696: libinterp/octave-value/liboctave_value_la-ov-fcn-handle.lo] Error 1


Some of those are warnings that I also see for native builds on Ubuntu Linux. But the error about the non-const lvalue seems to be Windows specific. I'm not sure why gcc doesn't mind on Linux though (maybe some standard extension?).

Markus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.