Octave for GNU/Linux: Difference between revisions

Jump to navigation Jump to search
(Reorganize.)
(→‎Distribution independent: Add Singularity.)
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Distributions =
= Distributions =


The recommended way for installing Octave on GNU/Linux systems is via each distribution's package installation system.
The recommended way for installing Octave on GNU/Linux systems is via each distribution's package installation system. If this is for some reason not possible, or the available Octave version too old, consider using a [[#Distribution_independent|distribution independent]] approach described below or [[Building|build Octave from source]].


== Arch Linux ==
== Arch Linux ==
Line 48: Line 48:
: ''Main article: [[Octave for Slackware]]''
: ''Main article: [[Octave for Slackware]]''


= Distribution independent =
Using a distribution independent approach is particularly useful if you have an older GNU/Linux distribution or if you do not have root access on your system. A common drawback of this approach is, that these solutions are running in some kind of sandbox. Thus limitations in the communication with the underlying system may exist.  For example, executing system binaries outside the sandbox might be impossible.
== Docker ==
* More info: https://hub.docker.com/r/mtmiller/octave
* Development: https://gitlab.com/mtmiller/docker-octave
docker pull mtmiller/octave
== Flatpak ==
* More info: https://flathub.org/apps/details/org.octave.Octave
* Development: https://github.com/flathub/org.octave.Octave
flatpak install flathub org.octave.Octave
== Guix ==
* More info: https://guix.gnu.org/packages/octave-5.2.0/


= Distribution independent =
guix install octave


== Homebrew on Linux ==
== Homebrew on Linux ==
<div id="Linuxbrew"></div>
<div id="Linuxbrew"></div>


Octave is provided by the [https://brew.sh/ Homebrew] package manager, which is a cross-distribution packaging system. "Homebrew on Linux" was formerly a fork known as Linuxbrew. It is possible to install the current release of Octave or the development version and any needed dependencies within your home directory. This is particularly useful if you have an older GNU/Linux distribution or if you do not have root access.
"Homebrew on Linux" was formerly a fork known as Linuxbrew. It is possible to install the current release of Octave or the development version and any needed dependencies within your home directory.
 
* More info: https://docs.brew.sh/Homebrew-on-Linux
* Development: https://formulae.brew.sh/formula/octave
 
brew install octave
 
== MXE ==
 
* More info: [[MXE]]
* Development: https://hg.octave.org/mxe-octave
 
== Singularity ==
 
* More info: https://cloud.sylabs.io/library/siko1056/default/gnu_octave
* Development: https://github.com/siko1056/GNU-Octave-ILP64-Singularity
 
singularity pull library://siko1056/default/gnu_octave:latest


Homebrew can be installed with the command:
== Snap ==


sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
* More info: https://snapcraft.io/octave
* Development: https://github.com/octave-snap/octave-snap


It can be added to your shell environment and future login environments with:
snap install octave


test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
== Spack ==
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile


Once set up, Octave can be installed with the command:
* More info: https://spack.readthedocs.io/en/latest/
* Development: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/octave/package.py


  brew install octave
  spack install octave


== Docker ==
= Building from source =


Octave is available as a Docker container. This can be used to easily run Octave in a well-defined, minimal GNU/Linux container. It can be used as a standard interactive Octave shell or to run scripts, but it may be mostly of interest to developers for use in automated build, test, or CI environments.
: ''Main article: [[Building]]''


docker pull mtmiller/octave
== See also ==
docker run mtmiller/octave octave --version


The image is hosted at [https://hub.docker.com/r/mtmiller/octave mtmiller/octave on Docker Hub].
* [[Octave for other Unix systems]]


[[Category:Installation]]
[[Category:Installation]]
[[Category:GNU/Linux]]
[[Category:GNU/Linux]]

Navigation menu