bugGNU Octave - Bugs: bug #51764, [octave forge] (interval) building...

 
 

bug #51764: [octave forge] (interval) building from hg requires the interval package installed

Submitter:  Mike Miller <mtmiller>
Submitted:  Wed 16 Aug 2017 02:54:13 AM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * other Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 16 Aug 2017 10:09:15 PM UTC, comment #4: 

Confirmed, thank you, this all works perfectly now.

I had noticed the other before, when I tried to run 'make dist' from a completely clean state. I had to execute 'make run' first to build the oct files, followed by 'make dist'. Now I can run 'make dist' from a clean checkout with no problems.

Mike Miller <mtmiller>
Group Member
Wed 16 Aug 2017 10:01:25 PM UTC, comment #3: 

This should fix it: “pkg load” won't be used if the @infsup class is available in the load path. This way it is possible to use the .tst files in either way (with the package installed or with load paths set by the Makefile).

https://github.com/oheim/ITF1788/commit/7b379e9f7f72182953ce8f897eeb790f9a45f3c4

In addition, I had to extend build dependencies: Compilation of oct-files is required to make the constructors work and be able to run the target.

https://sourceforge.net/p/octave/interval/ci/bc7b401f0de2eb555043252e23760a13bc4ecf95/

Oliver Heimlich <oheim>
Wed 16 Aug 2017 05:32:41 PM UTC, comment #2: 

Confirmed, the following patch to the ITF1788 subrepo works for me:


diff --git a/itf1788/plugins/octave/arith/interval-dictionary/arith.yaml b/itf1788/plugins/octave/arith/interval-dictionary/arith.yaml
index 91ae9e759780..99f59caacf64 100644
--- a/itf1788/plugins/octave/arith/interval-dictionary/arith.yaml
+++ b/itf1788/plugins/octave/arith/interval-dictionary/arith.yaml
@@ -31,7 +31,6 @@
 # http://octave.sourceforge.net/interval/

 imports: |
-    pkg load interval
 preamble: |

 # intervals



Mike Miller <mtmiller>
Group Member
Wed 16 Aug 2017 05:21:21 AM UTC, comment #1: 

Thanks for spotting this. The problematic pkg load statement can easily be removed from this file:
https://github.com/oheim/ITF1788/blob/master/itf1788/plugins/octave/arith/interval-dictionary/arith.yaml

Anonymous
Wed 16 Aug 2017 02:54:13 AM UTC, original submission:  

Building the interval package using the maintainer's makefile from the hg repository suffers from a bootstrapping problem.

Building the package runs a bunch of test scripts under build/octave/dictionary/interval-dictionary, all of which call "pkg load interval" at the start. This requires the interval package to be installed in the active version of Octave, which may not be the case if someone is attempting to build the package from scratch.

Not only does it require the interval package to be installed, which shouldn't be a requirement, but the installed package also overrides the functions in the interval repo. So if any important changes are made to the package, the test data will not be generated with the latest functions.

Commenting out the "pkg load interval" lines in each of the generated test scripts works around these problems, since the top-level maintainer makefile already sets Octave's path appropriately to use the interval functions in the repository.

Is there a way to bypass the "pkg load interval" when running these scripts? Or to somehow override the generator to avoid inserting that line into the scripts when they are built?

Mike Miller <mtmiller>
Group Member

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by oheim (Posted a comment)
  • -email is unavailable- added by mtmiller (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 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-08-16 mtmiller StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code