Octave for Debian systems: Difference between revisions

From Octave
Jump to navigation Jump to search
(further instructions)
(split getting dependencies methods and add development version)
Line 7: Line 7:


=== Dependencies ===
=== Dependencies ===
The easy way to install ''most'' of the necessary dependencies is to {{Codeline|sudo apt-get build-dep octave}} (the actual package name may be slightly different). However, this will also install extra packages unrelated to the build of octave and may miss some dependencies (depending on the distance between the version on the repositories and the one being built).
{{Note|different Debian versions may have slightly different package names but their differences should be pretty small, mostly limited to version numbers.}}
==== The easy way ====
The easy way to install ''most'' of the necessary dependencies is to {{Codeline|sudo apt-get build-dep octave}}. This will install all packages necessary to build and prepare a Debian package for the octave version available on your system repositories. However:
* will install unecessary packages related to the building of a Debian package;
* may miss some new dependencies;
* may install packages that are no longer octave dependencies.


The best way is to select and install all the dependencies as listed on the {{Path|INSTALL.OCTAVE}} file. The following is their package names for Debian repositories (they will have their own dependencies which your package maintainer will solve automatically).
==== The right way ====
The best way is to select and install all the dependencies as listed on the {{Path|INSTALL.OCTAVE}} file. The following is their package names in Debian repositories (they will have their own dependencies which your package maintainer will solve automatically).
 
{{Warning|Debian repositories has several libraries for dealing with HDF data files. The recommended is {{Codeline|libhdf5-serial-dev}}. However, the {{Forge|msh|msh package}} requires [http://www.geuz.org/gmsh/ gmsh] which is incompatible with it.}}
{{Warning|the GraphicsMagick++ library (libgraphicsmagick++-dev) on the Debian repositories was compiled with quantum 8 which limits reading images to 8 bit. The solution is to recompile [[GraphicsMagick]] with quantum
32.}}
{{Note|if only the native graphics toolkit will be used, gnuplot will not be necessary.}}


* build tools
* build tools
Line 18: Line 29:
:<pre>libreadline-dev libarpack2-dev libcurl4-gnutls-dev libfftw3-dev libfltk-dev libfontconfig1-dev libfreetype6-dev libglpk-dev libgraphicsmagick++-dev gnuplot libhdf5-serial-dev libgl-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texinfo zlib1g-dev</pre>
:<pre>libreadline-dev libarpack2-dev libcurl4-gnutls-dev libfftw3-dev libfltk-dev libfontconfig1-dev libfreetype6-dev libglpk-dev libgraphicsmagick++-dev gnuplot libhdf5-serial-dev libgl-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texinfo zlib1g-dev</pre>


{{Warning|debian repositories has several libraries for dealing with HDF data files. The recommended one is the {{Codeline|libhdf5-serial-dev}}. However, the {{Forge|msh|msh package}} requires [http://www.geuz.org/gmsh/ gmsh] which is not compatible with it.}}
==== Building development version ====
 
If you are building development versions, you'll require some more packages as listed on {{Path|etc/HACKING}}. Many of them will already be installed on your system.
{{Warning|the GraphicsMagick++ library on the debian repositories was compiled with quantum 8 which limits reading images to 8 bit. The solution is to recompile GraphicsMagick with quantum
32.}}
 
{{Note|different debian versions may have slightly different package names but their differences should be pretty small and limited to version numbers.}}
 
{{Note|if only the native graphics toolkit will be used, gnuplot will not be necessary.}}


[[Category:Installation]]
[[Category:Installation]]

Revision as of 13:02, 31 July 2012

For Debian, and Debian based distributions such as Ubuntu, specific solutions.

Pre-compiled binaries

Compiling from source

The only tricky part is to install the dependencies. Once that is solved, installing from source should be as easy as ./configure && make && make install. See the manual for the configure options.

Dependencies

Info icon.svg
different Debian versions may have slightly different package names but their differences should be pretty small, mostly limited to version numbers.

The easy way

The easy way to install most of the necessary dependencies is to sudo apt-get build-dep octave. This will install all packages necessary to build and prepare a Debian package for the octave version available on your system repositories. However:

  • will install unecessary packages related to the building of a Debian package;
  • may miss some new dependencies;
  • may install packages that are no longer octave dependencies.

The right way

The best way is to select and install all the dependencies as listed on the INSTALL.OCTAVE file. The following is their package names in Debian repositories (they will have their own dependencies which your package maintainer will solve automatically).

Warning icon.svg
Debian repositories has several libraries for dealing with HDF data files. The recommended is libhdf5-serial-dev. However, the msh package requires gmsh which is incompatible with it.
Warning icon.svg
the GraphicsMagick++ library (libgraphicsmagick++-dev) on the Debian repositories was compiled with quantum 8 which limits reading images to 8 bit. The solution is to recompile GraphicsMagick with quantum 32.
Info icon.svg
if only the native graphics toolkit will be used, gnuplot will not be necessary.
  • build tools
g++ gcc gfortran make
  • external packages
libblas-dev liblapack-dev libpcre3-dev
  • optional but strongly recommended
libreadline-dev libarpack2-dev libcurl4-gnutls-dev libfftw3-dev libfltk-dev libfontconfig1-dev libfreetype6-dev libglpk-dev libgraphicsmagick++-dev gnuplot libhdf5-serial-dev libgl-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texinfo zlib1g-dev

Building development version

If you are building development versions, you'll require some more packages as listed on etc/HACKING. Many of them will already be installed on your system.