bugGNU Octave - Bugs: bug #55361, [octave forge] (control) build...

 
 

bug #55361: [octave forge] (control) build errors due to removed features in Octave 6.0.0

Submitted by:  Philip Nienhuis <philipnienhuis>
Submitted on:  Wed 02 Jan 2019 10:48:32 AM UTC  
 
Category:  Octave Forge Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Philip Nienhuis Open/Closed:  Closed
Release:  other Operating System:  Any

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Mon 11 Feb 2019 09:01:20 PM UTC, comment #19: 

Fixed in the control package repository, the development head can now be built against Octave 4.4 through Octave 6 without errors

http://hg.code.sf.net/p/octave/control/rev/6c0a3108c82c

Mike Miller <mtmiller>
Project Administrator
Fri 08 Feb 2019 08:56:32 PM UTC, comment #18: 

Yes again. please do.

Doug Stewart <dastew>
Fri 08 Feb 2019 07:09:00 PM UTC, comment #17: 

The attached patch fixes the compilation bug under Octave 6 (default branch) by reintroducing the deprecated f77_exception_encountered as a constant, with a note about when it can safely be removed.

Doug - I can also push this change to the control repository if you like.

(file #46218)

Mike Miller <mtmiller>
Project Administrator
Wed 30 Jan 2019 12:28:27 PM UTC, comment #16: 

I think I've seen these crashes when I experimented with Andrew's _test_pkgs_. But I can no longer re-produce the crashes today with the same installation.

I didn't have a look at the respective test. But can this be a case of a missing mlock?

Markus Mützel <mmuetzel>
Project Member
Tue 29 Jan 2019 07:51:58 PM UTC, comment #15: 

Using octave 5.0.1 with the mxe compiled control, and running _run_test_suite_ on the loaded pkg dir, it crashes for me after printing out it is testing care.m

Anyone else seeing that ?

John Donoghue <lostbard>
Project Member
Sun 20 Jan 2019 04:44:21 PM UTC, comment #14: 

The attached patch for MXE-Octave cherry-picks a few of the changes in of-control (and some minor additional fix) to make it compile with Octave 6.0.0.

(file #46041)

Markus Mützel <mmuetzel>
Project Member
Thu 03 Jan 2019 10:33:12 AM UTC, comment #13: 

My 6.0.0 build tree was mixed up. With a fresh clone my crossbuild now also falls over 'f77_exception_encountered'

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 09:21:25 PM UTC, comment #12: 

In old octave sources it appears that the statements were just removed

John Donoghue <lostbard>
Project Member
Wed 02 Jan 2019 08:52:21 PM UTC, comment #11: 

@comment #10:
Confused? I guess so. I'll start a new mxe-octave build tree soon, hopefully that'll clear things up.

What can be done about the f77_exception_encountered errors?

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 08:40:45 PM UTC, comment #10: 

Something must be getting confused then, as it should fail if trying to build using 6.0.0 unless the f77_exception_encountered parts are removed

John Donoghue <lostbard>
Project Member
Wed 02 Jan 2019 08:29:26 PM UTC, comment #9: 

@Johnd:
Yes, that commit is one of the things I based several fixes on.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 06:14:29 PM UTC, comment #8: 

It (and most of the c++ file depreciations) were removed in commit http://hg.savannah.gnu.org/hgweb/octave/rev/f23f27e78aa2

John Donoghue <lostbard>
Project Member
Wed 02 Jan 2019 05:40:17 PM UTC, comment #7: 

that was 6.0.0 (latest dev code from this morning).

For the package code, it was the download of the released control package with your patch then applied

John Donoghue <lostbard>
Project Member
Wed 02 Jan 2019 05:27:40 PM UTC, comment #6: 

@Johnd:
Is that with deafult (6.0.00 or stable (5.0.1) Octave?

The patch is relative to the package as downloaded and untarzipped from octave.sf.net, and I suppose not fit for direct inclusion in mxe-octave.
All I can say is that it works for me :-(

Intriguingly I didn't see the 'f77_exception_encountered' error, what I get in mxe-octave for both 6.0.0 and 5.0.1 mentions in the of-control logs:

:
sl_ab08nd.cc: In function 'octave_value_list F__sl_ab08nd__(const octave_value_list&, int)':
sl_ab08nd.cc:152:13: warning: 'f77_exception_encountered' is deprecated: [4.4]: this variable is obsolete and should not be needed [-Wdeprecated-declarations]
         if (f77_exception_encountered)
             ^~~~~~~~~~~~~~~~~~~~~~~~~

Maybe s/th is mixed up in my me-octave build tree.

It's a lot easier and faster to fix of-control in linux comped t mxe-octave, but as mentioned in comment #4 that stumbles over a "xerbla" error.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 03:28:48 PM UTC, comment #5: 

Even when using the patch in mxe, I get a bunch of errors like:

sl_ab08nd.cc: In function 'octave_value_list F__sl_ab08nd__(const octave_value_list&, int)':
sl_ab08nd.cc:152:13: error: 'f77_exception_encountered' was not declared in this scope
         if (f77_exception_encountered)
             ^~~~~~~~~~~~~~~~~~~~~~~~~
sl_ab08nd.cc:189:13: error: 'f77_exception_encountered' was not declared in this scope
         if (f77_exception_encountered)
             ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from __control_slicot_functions__.cc:2:0:
sl_ab13dd.cc: In function 'octave_value_list F__sl_ab13dd__(const octave_value_list&, int)':
sl_ab13dd.cc:146:13: error: 'f77_exception_encountered' was not declared in this scope
         if (f77_exception_encountered)

John Donoghue <lostbard>
Project Member
Wed 02 Jan 2019 01:49:43 PM UTC, comment #4: 

@Doug:
No worries, with Octave-5.0.0 the patched control-3.1.0 got cross-built fine.
Other than I wrote in mxe-octave there are no other patches for of-control-3.1.0. The only thing needed to build it with Octave-6.0.0 is my patch, with Octave-5.0.0 it builds right away.

Installing the package in Linux didn't work due to "xerbla not found". I can't fix that but is isn't related to the patch I made. I have no idea how that is solved in mxe-octave.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 12:43:47 PM UTC, comment #3: 

Doug, apologies I mixed up you and JohnD.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 12:40:17 PM UTC, comment #2: 

@JohnD:
The relevant features were deprecated in (IIRC) 3.8 or 4.0, and AFAICS JWE replaced them by OCTAVE_DEPRECATED macros that effectively translated the deprecated calls into the new forms after emitting a suitable message.
So yes I think they should work in 5.0.0.
To be sure, later today I'll try to cross-build 5.0.0 (couldn't do that until yesterday due to an incomplete fix for bug #55306 that wasn't merged into default yet so I could build 6.0.0), but I expect no problems.

FYI:
As to e.g., is_numeric_type() => isnumeric() and similar changes, Olaf Till patched the io package for me so that configure would replace the macros in the code (csv2ell() ) with the required forms for the Octave release used to install the package. That way the io package would also work with older (IMO ancient) Octave releases.
I've got mixed feelings about this. IMHO users (and for that matter, some distros) should just upgrade to a newer Octave release rather than implicity leave a maintenance burden on OF developers, but I'm not the one who will block this - after all Olaf took up the work.

Philip Nienhuis <philipnienhuis>
Project Member
Wed 02 Jan 2019 10:53:24 AM UTC, comment #1: 

with these changes will it still work in octave 5.0.0?

Doug Stewart <dastew>
Wed 02 Jan 2019 10:48:32 AM UTC, original submission:  

(see also bug #55325)
In Octave-6.0.0 several deprecated features have been removed, as a consequence the OF-control package won't compile anymore in mxe-octave.
In mxe-octave several fixes are already applied to OF-control (1.3.0) before building; attached is a separate patch to fix the new build errors.

Philip Nienhuis <philipnienhuis>
Project Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #46218:  control-octave-6.patch added by mtmiller (747B - text/x-patch)
file #46041:  bug55361_of-control_deprecated.patch added by mmuetzel (39KiB - application/octet-stream)
file #45837:  control.diff added by philipnienhuis (5KiB - 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 mmuetzel (Updated the item)
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by dastew (Posted a comment)
  • -email is unavailable- added by philipnienhuis (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-11 mtmiller StatusPatch Submitted => Fixed
        Open/ClosedOpen => Closed
    2019-02-08 mtmiller Attached File- => Added control-octave-6.patch, #46218
    2019-01-20 mmuetzel Attached File- => Added bug55361_of-control_deprecated.patch, #46041
    2019-01-02 mtmiller Summary((octave-forge)[control] build errors due to removed features in Octave-6.0.0 => [octave forge] (control) build errors due to removed features in Octave 6.0.0
    2019-01-02 philipnienhuis StatusNone => Patch Submitted
    2019-01-02 philipnienhuis Attached File- => Added control.diff, #45837

    Back to the top


    Powered by Savane 3.5