Octave nightly build now available in Snap Store

Octave nightly builds from the development branch can now be easily installed and used by anyone from the Snap Store.

If you’re using Ubuntu or you have the Snap user interface configured on your system, you can install the Octave nightly graphically by selecting the latest/edge channel, as shown below

Or, install it at the command line with

sudo snap install --edge octave

Only one version of a given application can be installed at once with snap, so if you already have it installed, you can switch between channels with

sudo snap refresh --edge octave
sudo snap refresh --stable octave

Snap will remember the channel that you have chosen to track, and install updates only from that channel. To install updates to snaps you already have installed, just use snap refresh with no arguments.

The hope is that this can be a useful resource for users to test the latest Octave development changes and features without needing to compile Octave from source.

The Snap Store is run by Canonical and comes pre-installed with Ubuntu and official Ubuntu flavors, but can also be used on all major distributions, setup instructions here. The Octave store entry is here. The development project for the snap is octave-snap on GitHub.

2 Likes

That could be very useful for people to easily check if a bug is fixed for them in the development version. :+1:

I noticed that test copyobj is failing with the snap:

>> test copyobj
GPL Ghostscript 9.26: Can't find initialization file gs_init.ps.
***** testif HAVE_MAGICK; any (strcmp ("gnuplot", available_graphics_toolkits ()))
 toolkit = graphics_toolkit ();
 graphics_toolkit ("gnuplot");
 unwind_protect
   h1 = figure ("visible", "off", "paperposition", [0.25, 2.5, 8.0, 6.0]);
   x = 0:0.1:2*pi;
   y1 = sin (x);
   y2 = exp (x - 1);
   ax = plotyy (x,y1, x-1,y2, @plot, @semilogy);
   xlabel ("X");
   ylabel (ax(1), "Axis 1");
   ylabel (ax(2), "Axis 2");
   axes (ax(1));
   text (0.5, 0.5, "Left Axis", ...
         "color", [0 0 1], "horizontalalignment", "center");
   axes (ax(2));
   text (4.5, 80, "Right Axis", ...
         "color", [0 0.5 0], "horizontalalignment", "center");
   s1 = hdl2struct (h1);
   h2 = struct2hdl (s1);
   s2 = hdl2struct (h2);
   png1 = [tempname() ".png"];
   png2 = [tempname() ".png"];
   unwind_protect
     print (h1, png1);
     [img1, map1, alpha1] = imread (png1);
     print (h2, png2);
     [img2, map2, alpha2] = imread (png2);
   unwind_protect_cleanup
     unlink (png1);
     unlink (png2);
   end_unwind_protect
   assert (img1, img2);
   assert (map1, map2);
   assert (alpha1, alpha2);
 unwind_protect_cleanup
   close (h1);
   close (h2);
   graphics_toolkit (toolkit);
 end_unwind_protect
!!!!! test failed
unlink: operation failed: No such file or directory
>>

Is this something that should be fixed in Octave itself? Or in the snap package?

Uh oh, can you report that here?

Done:
Ghostscript error when executing test copyobj · Issue #86 · octave-snap/octave-snap (github.com)