Editing Building

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
General information about building the Octave source for different operating systems.
 
General information about building the Octave source for different operating systems.
  
* Linux
+
We try to keep build instructions up to date in the source tree. Please clone using [http://mercurial.selenic.com/ Mercurial] or download it to see the README.
** [[Octave for Arch Linux|Arch Linux]]
 
** [[Octave for Debian systems|Debian (and Debian-based)]]
 
** [[Octave for RedHat Systems|RedHat (and RedHat-based)]]
 
** [[Octave for Slackware|Slackware]]
 
* [[Building for Macintosh platform|macOS]]
 
* [[Octave_for_Microsoft_Windows|Windows]]
 
** [[Building on Cygwin platform]]
 
** [[MXE]] cross compiler
 
  
We try to keep build instructions up to date in the source tree. Please clone using [[Mercurial]] or download it to see the README.
+
There are also instructions in the [http://www.gnu.org/software/octave/doc/interpreter/Installation.html manual].
  
There are also instructions in the [http://www.gnu.org/software/octave/doc/interpreter/Installation.html manual].
+
There is a page for Debian/Ubuntu users [http://wiki.octave.org/Debian here].
  
 
==Dependencies==
 
==Dependencies==
 
{| class"wikitable"
 
|-
 
| Critical
 
| width="50pt" style="background:red" |  
 
|-
 
| Recommended
 
| style="background:yellow" |  
 
|-
 
| Not critical
 
| style="background:green" |  
 
|}
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Task
 
! Task
! Dependency
+
! Name
! Description
+
! Usage
! License / Copyright
+
! Debian
! Version
 
 
! Level
 
! Level
! Recent CVE ?
 
 
|-
 
|-
 
| rowspan="8"| Build tools
 
| rowspan="8"| Build tools
| [http://gcc.gnu.org C++, C, and Fortran compilers]
+
| C++, C, and Fortran compilers
 
| Compiling the source code
 
| Compiling the source code
| GNU GPL v3.0
+
| build-essential
|
+
| | style="background:red;" |  
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/make GNU Make]
 
| [http://www.gnu.org/software/make GNU Make]
 
| Makefile processor
 
| Makefile processor
| GNU GPL v3.0
+
| make
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
| Unix utilities: gawk, gperf, less, ncurses
+
| AWK, sed, and other Unix utilities
 
| Miscellaneous tasks
 
| Miscellaneous tasks
| GNU GPL v3.0
+
| awk, sed, ...
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/bison Bison]
 
| [http://www.gnu.org/software/bison Bison]
 
| Parser generator
 
| Parser generator
| GNU GPL v3.0
+
| bison
|
 
| style="background:green" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/flex Flex]
 
| [http://www.gnu.org/software/flex Flex]
 
| Lexical analyzer
 
| Lexical analyzer
| The Flex project
+
| flex
|
 
| style="background:green" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/autoconf Autoconf]
 
| [http://www.gnu.org/software/autoconf Autoconf]
 
| Software configuration
 
| Software configuration
| GNU GPL v3.0
+
| autoconf
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/automake Automake]
 
| [http://www.gnu.org/software/automake Automake]
 
| Makefile generator
 
| Makefile generator
| GNU GPL v3.0
+
| automake
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/libtool Libtool]
 
| [http://www.gnu.org/software/libtool Libtool]
 
| Dependency of automake
 
| Dependency of automake
| Free Software Foundation
+
| libtool
|
 
| style="background:red" |  
 
| none
 
|-
 
| rowspan="9"| Documentation tools
 
| [http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm epstool]
 
| Epstool is a utility to create or extract preview images in EPS files, fix bounding boxes and convert to bitmaps.
 
| GNU GPL v2.0
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [http://sourceforge.net/projects/ftgl/ FTGL]
 
| FTGL is a free cross-platform Open Source C++ library that uses Freetype2 to simplify rendering fonts in OpenGL applications.
 
| Provided "as is" -- various authors
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [http://geuz.org/gl2ps/ GL2PS]
 
| GL2PS is a C library providing high quality vector output for any OpenGL application.
 
| GNU LGPL v2.0
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [http://www.pstoedit.net/ pstoedit]
 
| Translates PostScript and PDF graphics into other vector formats.
 
| GNU GPL v2.0
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [http://www.nongnu.org/texi2html/ Texi2HTML]
 
| Perl script which converts Texinfo source files to HTML output.
 
| GNU GPL v3.0
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [https://www.gnu.org/software/texinfo/ Texinfo]
 
| Documentation system that uses a single source to produce both on-line information and printed output.
 
| GNU GPL v3.0
 
|
 
| style="background:yellow" |  
 
| none
 
|-
 
| TeX Live generic
 
| Mixed bag of generic macro packages and fonts.
 
| Freely redistributable as defined by the Free Software Foundation
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [https://www.tug.org/texlive/ TeX Live]
 
| Compiler for TeX doumentation.
 
| Freely redistributable as defined by the Free Software Foundation
 
|
 
| style="background:green" |  
 
| none
 
|-
 
| [http://www.ctan.org/pkg/transfig transfig]
 
| Tans­lates fig­ures gen­er­ated by xfig to a large va­ri­ety of for­mats.
 
| BSD Style Li­cense
 
|
 
| style="background:green" |  
 
| none
 
 
|-
 
|-
 
| rowspan="19"| External tools
 
| rowspan="19"| External tools
 
| [http://www.netlib.org/blas BLAS]
 
| [http://www.netlib.org/blas BLAS]
 
| Basic Linear Algebra Subroutine library
 
| Basic Linear Algebra Subroutine library
| Free - proper attribution request
+
| libatlas-base-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.netlib.org/lapack LAPACK]
 
| [http://www.netlib.org/lapack LAPACK]
 
| Linear Algebra Package
 
| Linear Algebra Package
| Free - proper attribution request
+
| liblapack-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.pcre.org PCRE]
 
| [http://www.pcre.org PCRE]
 
| Perl Compatible Regular Expression library
 
| Perl Compatible Regular Expression library
| Free
+
| libpcre3-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/s/readline GNU Readline]
 
| [http://www.gnu.org/s/readline GNU Readline]
 
| Command-line editing library
 
| Command-line editing library
| GNU GPL v3.0
+
| libreadline-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://forge.scilab.org/index.php/p/arpack-ng ARPACK]
 
| [http://forge.scilab.org/index.php/p/arpack-ng ARPACK]
| Solution of large-scale eigenvalue problems
+
| Solution of large-scale eigenvalue problems  
| BSD like - various authors
+
| libarpack2-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://curl.haxx.se cURL]
 
| [http://curl.haxx.se cURL]
 
| Library for transferring data with URL syntax
 
| Library for transferring data with URL syntax
| Free Software -- main author
+
| curl
| > 7.32.00
 
| style="background:red" |  
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4545 CVE-2013-4545]
 
 
|-
 
|-
 
| [http://www.fftw.org FFTW3]
 
| [http://www.fftw.org FFTW3]
 
| Library for computing discrete Fourier transforms
 
| Library for computing discrete Fourier transforms
| MIT -- GNU GPL v2.0
+
| libfftw3-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.fltk.org FLTK]
 
| [http://www.fltk.org FLTK]
 
| Portable GUI toolkit
 
| Portable GUI toolkit
| GNU GPL v2.0 with static linking exception
+
| libfltk1.3-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig]
 
| [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig]
| Library for configuring and customizing font access
+
| Library for configuring and customizing font access  
| Provided "as is" -- various authors
+
| fontconfig
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.freetype.org FreeType]
 
| [http://www.freetype.org FreeType]
 
| Portable font engine
 
| Portable font engine
| compatible with GNU GPL v3.0
+
| libfreetype6-dev
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnu.org/software/glpk GLPK]
 
| [http://www.gnu.org/software/glpk GLPK]
 
| GNU Linear Programming Kit
 
| GNU Linear Programming Kit
| GNU GPL v3.0
+
| libglpk-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://www.gnuplot.info gnuplot]
 
| [http://www.gnuplot.info gnuplot]
 
| Interactive graphics program
 
| Interactive graphics program
| Provided "as is" -- various authors
+
| gnuplot
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.graphicsmagick.org GraphicsMagick++]
 
| [http://www.graphicsmagick.org GraphicsMagick++]
 
| Image processing library
 
| Image processing library
| various -- integrates many third-party libs
+
| libgraphicsmagick++1-dev
| > 1.3.18
 
| style="background:yellow" |  
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4589 CVE-2013-4589]
 
 
|-
 
|-
 
| [http://www.hdfgroup.org/HDF5 HDF5]
 
| [http://www.hdfgroup.org/HDF5 HDF5]
 
| Library for manipulating portable data files
 
| Library for manipulating portable data files
| BSD - like
+
| libhdf5-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://www.opengl.org OpenGL]
 
| [http://www.opengl.org OpenGL]
 
| API for portable 2D and 3D graphics
 
| API for portable 2D and 3D graphics
| Free specs -- license is driver dependent
+
| -
|
 
| style="background:red" |  
 
| none
 
 
|-
 
|-
 
| [http://www.qhull.org Qhull]
 
| [http://www.qhull.org Qhull]
 
| Computational geometry library
 
| Computational geometry library
| Free software -- specific
+
| libqhull-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
 
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
 
| QR factorization updating library
 
| QR factorization updating library
| GNU GPL v3.0
+
| libqrupdate-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://www.cise.ufl.edu/research/sparse/SuiteSparse SuiteSparse]
 
| [http://www.cise.ufl.edu/research/sparse/SuiteSparse SuiteSparse]
 
| Sparse matrix factorization library
 
| Sparse matrix factorization library
| Main author
+
| libsuitesparse-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|-
 
|-
 
| [http://zlib.net zlib]
 
| [http://zlib.net zlib]
 
| Data compression library
 
| Data compression library
| Provided "as is" -- various authors
+
| zlib1g-dev
|
 
| style="background:yellow" |  
 
| none
 
 
|}
 
|}
  
==Security concerns==
 
* CVE-2013-4545 (cURL): not  sensitive if not compiled against OpenSSH. Solved by version 7.34.00. Upgrade dependencies if required.
 
* CVE-2013-4589 (graphicsmagick): the actual version (1.3.18, released March 9th, 2013), is affected. Awaiting a new release.
 
 
 
[[Category:Building]]
 
[[Category:Building]]

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)