Octave for Debian systems: Difference between revisions
no edit summary
(→The right way: Improve format.) |
No edit summary |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
* ''This article addresses the [[:Category:Installation|installation]] and [[Building]] of GNU Octave on Debian, and Debian-based distributions such as Ubuntu.'' | |||
Binary packages for GNU Octave and many [[Octave Forge]] packages are provided by all versions of Debian and Ubuntu. These are the most well-tested binaries available and should work best for most users. To install them, run: | |||
Binary packages for Octave and many Octave | |||
sudo apt-get install octave | sudo apt-get install octave | ||
In Debian and Ubuntu the "complete" GNU Octave software is split over multiple packages. To obtain the complete features of Octave, install additionally | |||
* {{codeline|octave-doc}}, {{codeline|octave-info}}, and {{codeline|octave-htmldoc}} for the documentation; | |||
* {{codeline|liboctave-dev}} for the octave development header files and mkoctfile (required to install Octave Forge packages); and | |||
* {{codeline|octave-dbg}} for the debugging symbols. | |||
Many Octave packages are also distributed by | Many Octave packages are also distributed by Debian and Ubuntu. These are tested to work the best with the respective Octave version. Install them via: | ||
sudo apt-get install octave-control octave-image octave-io octave-optim octave-signal octave-statistics | sudo apt-get install octave-control octave-image octave-io octave-optim octave-signal octave-statistics | ||
Up to 2018, the [https://launchpad.net/~octave GNU Octave Team] on Launchpad actively maintained a PPA providing more up to date packages of Octave. These are backported from Debian unstable and are still useful for older Ubuntu installations. To set up your system to install these packages, run: | |||
sudo apt-add-repository ppa:octave/stable | sudo apt-add-repository ppa:octave/stable | ||
Line 52: | Line 48: | ||
or, for the sake of convenience, use some "one-liner" to install them: | or, for the sake of convenience, use some "one-liner" to install them: | ||
* '''Ubuntu 19.10''' | |||
:<pre>sudo apt-get install gcc g++ gfortran make libblas-dev liblapack-dev libpcre3-dev libarpack2-dev libcurl4-gnutls-dev epstool libfftw3-dev fig2dev libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev libglpk-dev libreadline-dev gnuplot-x11 libgraphicsmagick++1-dev libhdf5-dev openjdk-8-jdk libsndfile1-dev llvm-dev lpr texinfo libgl1-mesa-dev libosmesa6-dev pstoedit portaudio19-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texlive-latex-extra texlive-libxft-dev zlib1g-dev autoconf automake bison flex gperf gzip icoutils librsvg2-bin libtool perl rsync tar qtbase5-dev qttools5-dev qttools5-dev-tools libqscintilla2-qt5-dev libsundials-dev</pre> | |||
* '''Ubuntu 18.04 (LTS)''' | * '''Ubuntu 18.04 (LTS)''' | ||
Line 60: | Line 60: | ||
:<pre>sudo apt-get install gcc g++ gfortran make libblas-dev liblapack-dev libpcre3-dev libarpack2-dev libcurl4-gnutls-dev epstool libfftw3-dev transfig libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev libglpk-dev libreadline-dev gnuplot-x11 libgraphicsmagick++1-dev libhdf5-serial-dev openjdk-8-jdk libsndfile1-dev llvm-dev lpr texinfo libgl1-mesa-dev libosmesa6-dev pstoedit portaudio19-dev libqhull-dev libqrupdate-dev libqscintilla2-dev libqt4-dev libqtcore4 libqtwebkit4 libqt4-network libqtgui4 libqt4-opengl-dev libsuitesparse-dev texlive libxft-dev zlib1g-dev autoconf automake bison flex gperf gzip icoutils librsvg2-bin libtool perl rsync tar</pre> | :<pre>sudo apt-get install gcc g++ gfortran make libblas-dev liblapack-dev libpcre3-dev libarpack2-dev libcurl4-gnutls-dev epstool libfftw3-dev transfig libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev libglpk-dev libreadline-dev gnuplot-x11 libgraphicsmagick++1-dev libhdf5-serial-dev openjdk-8-jdk libsndfile1-dev llvm-dev lpr texinfo libgl1-mesa-dev libosmesa6-dev pstoedit portaudio19-dev libqhull-dev libqrupdate-dev libqscintilla2-dev libqt4-dev libqtcore4 libqtwebkit4 libqt4-network libqtgui4 libqt4-opengl-dev libsuitesparse-dev texlive libxft-dev zlib1g-dev autoconf automake bison flex gperf gzip icoutils librsvg2-bin libtool perl rsync tar</pre> | ||
* '''Debian 10''' | |||
:<pre>sudo apt-get install gcc g++ gfortran make libblas-dev liblapack-dev libpcre3-dev libarpack2-dev libcurl4-gnutls-dev epstool libfftw3-dev fig2dev libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev libglpk-dev libreadline-dev gnuplot libgraphicsmagick++1-dev libhdf5-dev openjdk-13-jdk libsndfile1-dev llvm-dev texinfo libgl1-mesa-dev libosmesa6-dev pstoedit portaudio19-dev libjack-jackd2-dev libqhull-dev libqrupdate-dev libqt5core5a qtbase5-dev qttools5-dev qttools5-dev-tools libqscintilla2-qt5-dev libsuitesparse-dev texlive texlive-latex-extra libxft-dev zlib1g-dev autoconf automake bison flex gperf gzip icoutils librsvg2-bin libtool perl rsync tar libsundials-dev git</pre> | |||
* '''Debian 9''' | * '''Debian 9''' | ||
Line 78: | Line 82: | ||
=== Configuration === | === Configuration === | ||
Some Debian and Ubuntu specific configure tweaks are listed below: | |||
==== Java ==== | ==== Java ==== | ||
Autodetection for | Autodetection for Java should work well on Debian-based systems. A specific Java version can be specified by passing {{codeline|JAVA_HOME}} to configure, for example | ||
./configure JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 | ./configure JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 | ||
Line 94: | Line 92: | ||
==== HDF5 ==== | ==== HDF5 ==== | ||
On | On older versions of Debian and Ubuntu, you may get the following warning when building an older version of Octave from source: | ||
HDF5 library not found. Octave will not be able to save or load HDF5 data files. | HDF5 library not found. Octave will not be able to save or load HDF5 data files. | ||
Line 105: | Line 103: | ||
./configure CPPFLAGS="-I/usr/include/mpi -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX" | ./configure CPPFLAGS="-I/usr/include/mpi -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX" | ||
==== Sundials ==== | |||
On recent Debian and Ubuntu releases whose Sundials version (in {{codeline|libsundials-dev}}) is 3.1, a configure flag needs to be passed for {{codeline|ode15i}} and {{codeline|ode15s}} to be compiled with support for sparse Jacobians (bug {{bug|55937}}), as follows: | |||
./configure CPPFLAGS="-I/usr/include/suitesparse" | |||
== See also == | == See also == |