bugGNU Octave - Bugs: bug #54176, [MXE-Octave] can't build stable...

 
 

bug #54176: [MXE-Octave] can't build stable Octave

Submitter:  Avinoam Kalma <avinoam>
Submitted:  Sun 24 Jun 2018 06:04:41 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Avinoam Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 04 Jul 2018 08:00:28 PM UTC, comment #30: 

Great.  Closing as fixed.

Rik <rik5>
Group administrator
Wed 04 Jul 2018 07:49:40 PM UTC, comment #29: 

Thanks Rik,
It works now, and I can install the stable version and I don't have to uninstall 4.4.0

Avinoam Kalma <avinoam>
Group Member
Wed 04 Jul 2018 02:03:25 AM UTC, comment #28: 

I pushed a change to MXE-Octave that allows building the stable branch under a 4.4.0.5 version number.


changeset:   4752:e839056b9a65
user:        Rik <rik@octave.org>
date:        Tue Jul 03 19:00:22 2018 -0700
summary:     Allow building of unreleased stable branch (4.4.0x) (bug #54176).


Probably will need to re-run configure in your MXE directory in order to re-create makeinst-script.sh from makeinst-script.sh.in.

Marking as Ready for Test.

Rik <rik5>
Group administrator
Tue 03 Jul 2018 10:28:58 PM UTC, comment #27: 

Fine by me.  Keep 4.4.0 and 4.4.1 with the current stable being 4.4.0.5 in Windows.

What should the version suffix in configure.ac for Linux be?  Currently it is 'x' resulting in a package of 4.4.0x.tar.lz.  However, the octave-stable recipe is expecting 4.4.0+.tar.lz.  So, regardless of the naming convention the recipe doesn't build.

Rik <rik5>
Group administrator
Tue 03 Jul 2018 09:28:13 PM UTC, comment #26: 

Agree with that, we don't need a general solution for the 4.4 stable branch because we already have a solution for the Octave 5 release.

Ignoring the Windows installation issue, I think we should keep the version numbering scheme the same as previous releases, i.e. 4.4.1 will be the next stable release, followed by 4.4.2.

If the mxe-octave build wants to append another ".50" to the version number when building the stable branch in between releases, that should be local to mxe-octave only.

Mike Miller <mtmiller>
Group Member
Tue 03 Jul 2018 09:10:22 PM UTC, comment #25: 

I like pushing this pain only on to Windows if possible, and only for this release, since the new numbering scheme has promised to fix this.

Another strategy would be to use the odd/even convention that the Linux kernel uses, but only for the current stable release.  So 4.4.1 is our stable development candidate and 4.4.2 is the eventual release.  Disadvantage is that we have always use minor incrementing numbers in the past and this may weird people out.  But, every one will understand that the larger version number is the newer one and so distros will install 4.4.2 over 4.4.0 even if there isn't an intervening 4.4.1 that they see.

Rik <rik5>
Group administrator
Tue 03 Jul 2018 09:01:33 PM UTC, comment #24: 

We don't have a fouth version number, at least for Octave itself.

But I suppose we could use something like 4.4.0.50 for the installer, leaving the version number of Octave itself set to 4.4.0x.  Would that work?  Or do those numbers have to agree.



John W. Eaton <jwe>
Group administrator
Tue 03 Jul 2018 08:14:18 PM UTC, comment #23: 

File versions in the Windows world consist of four 16 bit integers separated by a dot.
What about "4.4.1.1" for the current stable version?

Markus Mützel <mmuetzel>
Group administrator
Tue 03 Jul 2018 07:48:21 PM UTC, comment #22: 

I know that this is an annoying problem if you want to have the last stable release and also experiment with a build of the current stable branch from the hg archive installed.  But this problem affects very few people and will not be an issue with the new version scheme that we will be using for Octave 5 and later.  So unless there is a really good simple solution, I'd rather not spend more time working on it.

John W. Eaton <jwe>
Group administrator
Tue 03 Jul 2018 07:36:58 PM UTC, comment #21: 

No, a trailing hyphen is definitely not a good character to use in a version string, or anywhere in a version string. GNU/Linux distributions typically use hyphen to separate the upstream version from the packaging revision.

Can someone summarize what the legal version string patterns are that might resolve this? Does this have to be the version used in Octave or can it be some local change that mxe-octave makes on top of the standard build?

Mike Miller <mtmiller>
Group Member
Tue 03 Jul 2018 07:25:53 PM UTC, comment #20: 

Changing


!define PRODUCT_KEY "Software\\Octave-$VERSION"


to


!define PRODUCT_KEY "Software\\Octave-$OCTAVE_VERSION"


in makeinst-script.sh.in gives again the error:
"there is another Octave installation with the same version"

What about my previous proposal to set the stable version to
4.4.1- and when it will the next version it will be changed to 4.4.1 (and I will have to uninstall 4.4.1-)?

Avinoam Kalma <avinoam>
Group Member
Tue 03 Jul 2018 05:35:13 AM UTC, comment #19: 

So this is still a problem.  Adding 'x' to the stable version isn't going to work for Windows machines.  Could try the second solution suggested in comment #15 of changing the registry key value to Octave-$OCTAVE_VERSION.

Changing the Status back to "In Progress".

Rik <rik5>
Group administrator
Tue 03 Jul 2018 05:00:42 AM UTC, comment #18: 

Changing


VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`


to


VERSION=`echo $OCTAVE_VERSION`


in makeinst-script.sh.in gives an error:


Error: invalid VIProductVersion format, should be X.X.X.X
Error - aborting creation process
/home/avinoam/mxe-octave/binary-dist-rules.mk:206: recipe for target 'octave-4.4.0x-w64-64-installer.exe' failed
make: *** [octave-4.4.0x-w64-64-installer.exe] Error 1


Avinoam Kalma <avinoam>
Group Member
Mon 02 Jul 2018 05:05:10 AM UTC, comment #17: 

@Avinoam: Did John's suggestion from comment #15 work?

The desktop icon is supposed to launch the latest version of Octave.  If you install 5.0 then this will take precedence over 4.4.

When you do have multiple versions of Octave installed you need to use the "Start" menu and select the version from the Programs menu.  In this menu all of the versions are fully documented such as octave-gui-4.4.0.

Rik <rik5>
Group administrator
Sat 30 Jun 2018 05:10:13 PM UTC, comment #16: 

Another related problem is Octave desktop icon.
Now, the icon's name is GNU Octave (GUI)/GNU Octave (CLI),
without version number.
Installing stable/default version will overide this icon.
Maybe, the release version should have this icon, but
the stable/default version icon wil include the version number?

Avinoam Kalma <avinoam>
Group Member
Sat 30 Jun 2018 03:51:47 PM UTC, comment #15: 

makeinst-script.sh currrently extract the version usinf:

VERSION=`echo $OCTAVE_VERSION | sed -n 's,\([0-9\.]*\).*,\1,p'`

so is only grabbing the numbers

you could change that to

VERSION=`echo $OCTAVE_VERSION`

and see if it will work, however as I said in comment 29, for some reason I recall that anything not numeric was an issue.


Alternatively, the issue you are seeing is registry key values, vs the application version.
So perhaps any registry key for install and uninstall should change from

Octave-$VERSION

to

Octave-$OCTAVE_VERSION

John Donoghue <lostbard>
Group Member
Sat 30 Jun 2018 02:22:47 PM UTC, comment #14: 

Windows 10 complains also on 4.4.0x:

Another Octave installation (wit the same version) has been
detected. Please uninstall it first.

Avinoam Kalma <avinoam>
Group Member
Fri 29 Jun 2018 11:08:35 PM UTC, comment #13: 

Is the 'x' suffix working or failing?

Rik <rik5>
Group administrator
Fri 29 Jun 2018 08:12:01 PM UTC, comment #12: 

What about using 4.4.1 or 4.4.1- as version number for the stable branch?

Avinoam Kalma <avinoam>
Group Member
Fri 29 Jun 2018 04:49:55 PM UTC, comment #11: 

anything other than numeric may be the issue

John Donoghue <lostbard>
Group Member
Fri 29 Jun 2018 04:42:07 PM UTC, comment #10: 

OK, I checked in changes to use "x" as a suffix.

John W. Eaton <jwe>
Group administrator
Fri 29 Jun 2018 04:21:01 PM UTC, comment #9: 

"-dev" may cause confusion with development branch.
What about  just adding say "x" or "z" instead of "+"?

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Fri 29 Jun 2018 04:04:04 PM UTC, comment #8: 

Is there something else we should use?  Maybe "-dev"?

John W. Eaton <jwe>
Group administrator
Fri 29 Jun 2018 02:58:04 PM UTC, comment #7: 

the installer skips + etc in version nubmer when embedding the version number into the script, from memory because nsis or maybe windows did not like '+' in the version field.

John Donoghue <lostbard>
Group Member
Fri 29 Jun 2018 02:55:20 PM UTC, comment #6: 

installer version is coming from octave/octave-version in the mxe build directory.

octave/octave-version is created in default-octave.mk etc and is $(PKG)_VERSION


John Donoghue <lostbard>
Group Member
Fri 29 Jun 2018 02:47:36 PM UTC, comment #5: 

I checked in this change for the stable-octave.mk problem:

http://hg.octave.org/mxe-octave/rev/ad711297712a

Is the version problem something that we can fix in our installer?  I'm not sure where that version check is done.

If we can't fix it in the installer, then is there some other version number suffix we can use that will make the stable version look different from the release version?

In the future this won't be a problem because we'll be using the version scheme described here:

http://lists.gnu.org/archive/html/octave-maintainers/2018-03/msg00214.html

John W. Eaton <jwe>
Group administrator
Fri 29 Jun 2018 09:15:20 AM UTC, comment #4: 

Thanks, this time there is no build problem,

but the windows refuses to install it because "there is another Octave installation with the same version", bacause 4.4.0 is installed.

Also, the lines

-verbatim+
  $(PKG)_WITH_BLAS_CONFIGURE_OPTIONS := --with-blas="-lblas -lxerbla"
-verbatim-

and


$(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-octave.dll'; \


are not included in octave-stable.mk

Avinoam Kalma <avinoam>
Group Member
Thu 28 Jun 2018 07:52:48 PM UTC, comment #3: 

That patch is not needed for the current sources on the stable branch, but is needed for the 4.4.0 release sources.

I pushed this change for mxe-octave:

  http://hg.octave.org/mxe-octave/rev/a6b4355efbd6

so now you have the option of

release: latest released version
stable: current sources from stable branch
default: current sources from default branch

The "stable" mxe-octave build now uses the version 4.4.0+ and I also pushed this change for Octave so that we are now using that version for the stable development branch:

  http://hg.savannah.gnu.org/hgweb/octave/rev/fe3a7b831014

John W. Eaton <jwe>
Group administrator
Thu 28 Jun 2018 07:03:50 PM UTC, comment #2: 

I have tried to stable branch, but the mxe build failed


(cd '/home/avinoam/mxe-octave/tmp-stable-octave/octave-4.4.1' && patch -p1 -u) < /home/avinoam/mxe-octave/src/stable-octave-1-qt.patch
patching file libgui/src/settings-dialog.cc
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file libgui/src/settings-dialog.cc.rej
/home/avinoam/mxe-octave/Makefile:858: recipe for target 'build-only-stable-octave' failed


(I have changed the stable version to 4.4.1, so it will not
override the current 4.4.0 version, so probably that's the reason for my failure)

Avinoam Kalma <avinoam>
Group Member
Thu 28 Jun 2018 03:04:25 PM UTC, comment #1: 

Thanks, I fixed this problem recently plus a few others.  I'm able to build stable-octave again.  Can you verify?

Although the stable-octave target works for me, there are some problems with packages.  I'll post a separate bug report and/or message to the maintainers list about those problems.

John W. Eaton <jwe>
Group administrator
Sun 24 Jun 2018 06:04:41 PM UTC, original submission:  


In changeset http://hg.octave.org/mxe-octave/rev/80461a9e516c,
the line


$(INSTALL) '$(3)/$(HOST_BINDIR)/libxerbla.dll' '$(3)$(HOST_BINDIR)/libxerbla-octave.dll'; \


was added to src/default-octave.mk but not to src/stable-octave.mk

Avinoam Kalma <avinoam>
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 mmuetzel (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by avinoam (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 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-07-04 rik5 StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2018-07-04 rik5 StatusIn Progress Ready For Test
    2018-07-03 rik5 StatusReady For Test In Progress
    2018-06-28 jwe StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code