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