Difference between revisions of "Building"

From Octave
Jump to navigation Jump to search
(Merged with "Building for Linux systems‎")
 
(76 intermediate revisions by 5 users not shown)
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.
  
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.
+
* Linux
 +
** [[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
! Name
+
! Dependency
! Usage
+
! Description
! Debian
+
! License / Copyright
! Cygwin
+
! Version
 +
! Level
 +
! Recent CVE ?
 +
|-
 +
| rowspan="8"| Build tools
 +
| [http://gcc.gnu.org C++, C, and Fortran compilers]
 +
| Compiling the source code
 +
| GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/make GNU Make]
 +
| Makefile processor
 +
| GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| Unix utilities: gawk, gperf, less, ncurses
 +
| Miscellaneous tasks
 +
| GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/bison Bison]
 +
| Parser generator
 +
| GNU GPL v3.0
 +
|
 +
| style="background:green" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/flex Flex]
 +
| Lexical analyzer
 +
| The Flex project
 +
|
 +
| style="background:green" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/autoconf Autoconf]
 +
| Software configuration
 +
| GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/automake Automake]
 +
| Makefile generator
 +
| GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/libtool Libtool]
 +
| Dependency of automake
 +
| Free Software Foundation
 +
|
 +
| 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
 +
| [http://www.netlib.org/blas BLAS]
 +
| Basic Linear Algebra Subroutine library
 +
| Free - proper attribution request
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.netlib.org/lapack LAPACK]
 +
| Linear Algebra Package
 +
| Free - proper attribution request
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.pcre.org PCRE]
 +
| Perl Compatible Regular Expression library
 +
| Free
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/s/readline GNU Readline]
 +
| Command-line editing library
 +
| GNU GPL v3.0
 +
|
 +
| style="background:yellow" |  
 +
| none
 +
|-
 +
| [http://forge.scilab.org/index.php/p/arpack-ng ARPACK]
 +
| Solution of large-scale eigenvalue problems
 +
| BSD like - various authors
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://curl.haxx.se cURL]
 +
| Library for transferring data with URL syntax
 +
| Free Software -- main author
 +
| > 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]
 +
| Library for computing discrete Fourier transforms
 +
| MIT -- GNU GPL v2.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.fltk.org FLTK]
 +
| Portable GUI toolkit
 +
| GNU GPL v2.0 with static linking exception
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig]
 +
| Library for configuring and customizing font access
 +
| Provided "as is" -- various authors
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.freetype.org FreeType]
 +
| Portable font engine
 +
| compatible with GNU GPL v3.0
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.gnu.org/software/glpk GLPK]
 +
| GNU Linear Programming Kit
 +
| GNU GPL v3.0
 +
|
 +
| style="background:yellow" |  
 +
| none
 +
|-
 +
| [http://www.gnuplot.info gnuplot]
 +
| Interactive graphics program
 +
| Provided "as is" -- various authors
 +
|
 +
| style="background:red" |  
 +
| none
 +
|-
 +
| [http://www.graphicsmagick.org GraphicsMagick++]
 +
| Image processing library
 +
| various -- integrates many third-party libs
 +
| > 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]
 +
| Library for manipulating portable data files
 +
| BSD - like
 +
|
 +
| style="background:yellow" |  
 +
| none
 
|-
 
|-
|rowspan="3"|| Col 2, row 1 (and 2)
+
| [http://www.opengl.org OpenGL]
 +
| API for portable 2D and 3D graphics
 +
| Free specs -- license is driver dependent
 +
|
 +
| style="background:red" |  
 +
| none
 
|-
 
|-
| row 1, cell 1
+
| [http://www.qhull.org Qhull]
| row 1, cell 2
+
| Computational geometry library
| row 1, cell 3
+
| Free software -- specific
 +
|
 +
| style="background:yellow" |  
 +
| none
 
|-
 
|-
| row 2, cell 1
+
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
| row 2, cell 2
+
| QR factorization updating library
| row 2, cell 3
+
| GNU GPL v3.0
 +
|
 +
| style="background:yellow" |  
 +
| none
 
|-
 
|-
| row 2, cell 1
+
| [http://www.cise.ufl.edu/research/sparse/SuiteSparse SuiteSparse]
| row 2, cell 2
+
| Sparse matrix factorization library
| row 2, cell 3
+
| Main author
 +
|
 +
| style="background:yellow" |  
 +
| none
 
|-
 
|-
| row 2, cell 1
+
| [http://zlib.net zlib]
| row 2, cell 2
+
| Data compression library
| row 2, cell 3
+
| Provided "as is" -- various authors
 +
|
 +
| 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]]

Latest revision as of 16:22, 14 November 2016

General information about building the Octave source for different operating systems.

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 manual.

Dependencies[edit]

Critical  
Recommended  
Not critical  
Task Dependency Description License / Copyright Version Level Recent CVE ?
Build tools C++, C, and Fortran compilers Compiling the source code GNU GPL v3.0   none
GNU Make Makefile processor GNU GPL v3.0   none
Unix utilities: gawk, gperf, less, ncurses Miscellaneous tasks GNU GPL v3.0   none
Bison Parser generator GNU GPL v3.0   none
Flex Lexical analyzer The Flex project   none
Autoconf Software configuration GNU GPL v3.0   none
Automake Makefile generator GNU GPL v3.0   none
Libtool Dependency of automake Free Software Foundation   none
Documentation tools 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   none
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   none
GL2PS GL2PS is a C library providing high quality vector output for any OpenGL application. GNU LGPL v2.0   none
pstoedit Translates PostScript and PDF graphics into other vector formats. GNU GPL v2.0   none
Texi2HTML Perl script which converts Texinfo source files to HTML output. GNU GPL v3.0   none
Texinfo Documentation system that uses a single source to produce both on-line information and printed output. GNU GPL v3.0   none
TeX Live generic Mixed bag of generic macro packages and fonts. Freely redistributable as defined by the Free Software Foundation   none
TeX Live Compiler for TeX doumentation. Freely redistributable as defined by the Free Software Foundation   none
transfig Tans­lates fig­ures gen­er­ated by xfig to a large va­ri­ety of for­mats. BSD Style Li­cense   none
External tools BLAS Basic Linear Algebra Subroutine library Free - proper attribution request   none
LAPACK Linear Algebra Package Free - proper attribution request   none
PCRE Perl Compatible Regular Expression library Free   none
GNU Readline Command-line editing library GNU GPL v3.0   none
ARPACK Solution of large-scale eigenvalue problems BSD like - various authors   none
cURL Library for transferring data with URL syntax Free Software -- main author > 7.32.00   CVE-2013-4545
FFTW3 Library for computing discrete Fourier transforms MIT -- GNU GPL v2.0   none
FLTK Portable GUI toolkit GNU GPL v2.0 with static linking exception   none
fontconfig Library for configuring and customizing font access Provided "as is" -- various authors   none
FreeType Portable font engine compatible with GNU GPL v3.0   none
GLPK GNU Linear Programming Kit GNU GPL v3.0   none
gnuplot Interactive graphics program Provided "as is" -- various authors   none
GraphicsMagick++ Image processing library various -- integrates many third-party libs > 1.3.18   CVE-2013-4589
HDF5 Library for manipulating portable data files BSD - like   none
OpenGL API for portable 2D and 3D graphics Free specs -- license is driver dependent   none
Qhull Computational geometry library Free software -- specific   none
QRUPDATE QR factorization updating library GNU GPL v3.0   none
SuiteSparse Sparse matrix factorization library Main author   none
zlib Data compression library Provided "as is" -- various authors   none

Security concerns[edit]

  • 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.