Difference between revisions of "Building"

From Octave
Jump to navigation Jump to search
Line 28: Line 28:
 
|-
 
|-
 
! Task
 
! Task
! Name
+
! Dependency
! Usage
+
! Description
 +
! Feature
 
! License / Copyright
 
! License / Copyright
 
! Version
 
! Version
! [[Debian]]
 
! [[ArchLinux]]
 
 
! Level
 
! Level
 
! Recent CVE ?
 
! Recent CVE ?
Line 40: Line 39:
 
| [http://gcc.gnu.org C++, C, and Fortran compilers]
 
| [http://gcc.gnu.org C++, C, and Fortran compilers]
 
| Compiling the source code
 
| Compiling the source code
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|build-essential}}
 
| {{codeline|gcc-fortran}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 49: Line 47:
 
| [http://www.gnu.org/software/make GNU Make]
 
| [http://www.gnu.org/software/make GNU Make]
 
| Makefile processor
 
| Makefile processor
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|make}}
 
| {{codeline|make}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 58: Line 55:
 
| Unix utilities: gawk, gperf, less, ncurses
 
| Unix utilities: gawk, gperf, less, ncurses
 
| Miscellaneous tasks
 
| Miscellaneous tasks
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|gawk}}, {{codeline|gperf}}, {{codeline|less}}, {{codeline|libncurses5-dev}}
 
| {{codeline|gawk}}, {{codeline|gperf}}, {{codeline|less}}, {{codeline|ncurses}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 67: Line 63:
 
| [http://www.gnu.org/software/bison Bison]
 
| [http://www.gnu.org/software/bison Bison]
 
| Parser generator
 
| Parser generator
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|bison}}
 
| {{codeline|bison}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 76: Line 71:
 
| [http://www.gnu.org/software/flex Flex]
 
| [http://www.gnu.org/software/flex Flex]
 
| Lexical analyzer
 
| Lexical analyzer
 +
|
 
| The Flex project
 
| The Flex project
 
|
 
|
| {{codeline|flex}}
 
| {{codeline|flex}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 85: Line 79:
 
| [http://www.gnu.org/software/autoconf Autoconf]
 
| [http://www.gnu.org/software/autoconf Autoconf]
 
| Software configuration
 
| Software configuration
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|autoconf}}
 
| {{codeline|autoconf}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 94: Line 87:
 
| [http://www.gnu.org/software/automake Automake]
 
| [http://www.gnu.org/software/automake Automake]
 
| Makefile generator
 
| Makefile generator
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|automake}}
 
| {{codeline|automake}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 103: Line 95:
 
| [http://www.gnu.org/software/libtool Libtool]
 
| [http://www.gnu.org/software/libtool Libtool]
 
| Dependency of automake
 
| Dependency of automake
 +
|
 
| Free Software Foundation
 
| Free Software Foundation
 
|
 
|
| {{codeline|libtool}}
 
| {{codeline|libtool}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 113: Line 104:
 
| [http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm epstool]
 
| [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.
 
| Epstool is a utility to create or extract preview images in EPS files, fix bounding boxes and convert to bitmaps.
 +
|
 
| GPL
 
| GPL
 
|
 
|
| {{codeline|epstool}}
 
| {{codeline|epstool}} (AUR)
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 122: Line 112:
 
| [http://sourceforge.net/projects/ftgl/ FTGL]
 
| [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.
 
| FTGL is a free cross-platform Open Source C++ library that uses Freetype2 to simplify rendering fonts in OpenGL applications.
 +
|
 
| MIT/X
 
| MIT/X
 
|
 
|
| {{codeline|libftgl-dev}}
 
| {{codeline|ftgl}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 131: Line 120:
 
| [http://geuz.org/gl2ps/ GL2PS]
 
| [http://geuz.org/gl2ps/ GL2PS]
 
| GL2PS is a C library providing high quality vector output for any OpenGL application.
 
| GL2PS is a C library providing high quality vector output for any OpenGL application.
 +
|
 
| LGPL
 
| LGPL
 
|
 
|
| {{codeline|libgl2ps-dev}}
 
| {{codeline|gl2ps}} (AUR)
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 140: Line 128:
 
| [http://www.pstoedit.net/ pstoedit]
 
| [http://www.pstoedit.net/ pstoedit]
 
| Translates PostScript and PDF graphics into other vector formats.
 
| Translates PostScript and PDF graphics into other vector formats.
 +
|
 
| GPL
 
| GPL
 
|
 
|
| {{codeline|pstoedit}}
 
| {{codeline|pstoedit}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 149: Line 136:
 
| [http://www.nongnu.org/texi2html/ Texi2HTML]
 
| [http://www.nongnu.org/texi2html/ Texi2HTML]
 
| Perl script which converts Texinfo source files to HTML output.
 
| Perl script which converts Texinfo source files to HTML output.
 +
|
 
| GPLv3
 
| GPLv3
 
|
 
|
| {{codeline|texi2html}}
 
| {{codeline|texi2html}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 158: Line 144:
 
| [https://www.gnu.org/software/texinfo/ Texinfo]
 
| [https://www.gnu.org/software/texinfo/ Texinfo]
 
| Documentation system that uses a single source to produce both on-line information and printed output.
 
| Documentation system that uses a single source to produce both on-line information and printed output.
 +
|
 
| GPL
 
| GPL
 
|
 
|
| {{codeline|texinfo}}
 
| {{codeline|texinfo}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 167: Line 152:
 
| TeX Live generic
 
| TeX Live generic
 
| Mixed bag of generic macro packages and fonts.
 
| Mixed bag of generic macro packages and fonts.
 +
|
 
| Free - proper attribution request
 
| Free - proper attribution request
 
|
 
|
| {{codeline|texlive-generic-recommended}}
 
| {{codeline|texlive-genericextra}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 176: Line 160:
 
| [https://www.tug.org/texlive/ TeX Live]
 
| [https://www.tug.org/texlive/ TeX Live]
 
| Compiler for TeX doumentation.
 
| Compiler for TeX doumentation.
 +
|
 
| Free - proper attribution request
 
| Free - proper attribution request
 
|
 
|
| {{codeline|texlive-latex-base}}
 
| {{codeline|texlive-core}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 185: Line 168:
 
| [http://www.ctan.org/pkg/transfig transfig]
 
| [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.
 
| Tans­lates fig­ures gen­er­ated by xfig to a large va­ri­ety of for­mats.
 +
|
 
| BSD Style Li­cense
 
| BSD Style Li­cense
 
|
 
|
| {{codeline|transfig}}
 
| {{codeline|transfig}}
 
 
| style="background:green" |  
 
| style="background:green" |  
 
| none
 
| none
Line 195: Line 177:
 
| [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
 
| Free - proper attribution request
 
|
 
|
| {{codeline|libatlas-base-dev}}
 
| {{codeline|atlas-lapack}} (AUR)
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 204: Line 185:
 
| [http://www.netlib.org/lapack LAPACK]
 
| [http://www.netlib.org/lapack LAPACK]
 
| Linear Algebra Package
 
| Linear Algebra Package
 +
|
 
| Free - proper attribution request
 
| Free - proper attribution request
 
|
 
|
| {{codeline|liblapack-dev}}
 
| {{codeline|atlas-lapack}} (AUR)
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 213: Line 193:
 
| [http://www.pcre.org PCRE]
 
| [http://www.pcre.org PCRE]
 
| Perl Compatible Regular Expression library
 
| Perl Compatible Regular Expression library
 +
|
 
| Free
 
| Free
 
|
 
|
| {{codeline|libpcre3-dev}}
 
| {{codeline|pcre}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 222: Line 201:
 
| [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
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|libreadline-dev}}
 
| {{codeline|readline}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 231: Line 209:
 
| [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
 
| BSD like - various authors
 
|
 
|
| {{codeline|libarpack2-dev}}
 
| {{codeline|arpack}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 240: Line 217:
 
| [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
 
| Free Software -- main author
 
| > 7.32.00
 
| > 7.32.00
| {{codeline|curl}}
 
| {{codeline|curl}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4545 CVE-2013-4545]
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4545 CVE-2013-4545]
Line 249: Line 225:
 
| [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
 
| MIT -- GNU GPL v2.0
 
|
 
|
| {{codeline|libfftw3-dev}}
 
| {{codeline|fftw}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 258: Line 233:
 
| [http://www.fltk.org FLTK]
 
| [http://www.fltk.org FLTK]
 
| Portable GUI toolkit
 
| Portable GUI toolkit
 +
|
 
| GNU GPL v2.0 with static linking exception
 
| GNU GPL v2.0 with static linking exception
 
|
 
|
| {{codeline|libfltk1.3-dev}}
 
| {{codeline|fltk}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 267: Line 241:
 
| [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
 
| Provided "as is" -- various authors
 
|
 
|
| {{codeline|fontconfig}}
 
| {{codeline|fontconfig}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 276: Line 249:
 
| [http://www.freetype.org FreeType]
 
| [http://www.freetype.org FreeType]
 
| Portable font engine
 
| Portable font engine
 +
|
 
| compatible with GNU GPL v3.0
 
| compatible with GNU GPL v3.0
 
|
 
|
| {{codeline|libfreetype6-dev}}
 
| {{codeline|freetype2}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 285: Line 257:
 
| [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
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|libglpk-dev}}
 
| {{codeline|glpk}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 294: Line 265:
 
| [http://www.gnuplot.info gnuplot]
 
| [http://www.gnuplot.info gnuplot]
 
| Interactive graphics program
 
| Interactive graphics program
 +
|
 
| Provided "as is" -- various authors
 
| Provided "as is" -- various authors
 
|
 
|
| {{codeline|gnuplot}}
 
| {{codeline|gnuplot}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 303: Line 273:
 
| [http://www.graphicsmagick.org GraphicsMagick++]
 
| [http://www.graphicsmagick.org GraphicsMagick++]
 
| Image processing library
 
| Image processing library
 +
|
 
| various -- integrates many third-party libs
 
| various -- integrates many third-party libs
 
| > 1.3.18
 
| > 1.3.18
| {{codeline|libgraphicsmagick++1-dev}}
 
| {{codeline|graphicsmagick}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4589 CVE-2013-4589]
 
| [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4589 CVE-2013-4589]
Line 312: Line 281:
 
| [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
 
| BSD - like
 
|
 
|
| {{codeline|libhdf5-dev}}
 
| {{codeline|hdf5}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 321: Line 289:
 
| [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
 
| Free specs -- license is driver dependent
 
|
 
|
| {{codeline|libgl-dev}}
 
| {{codeline|mesa-libgl}}
 
 
| style="background:red" |  
 
| style="background:red" |  
 
| none
 
| none
Line 330: Line 297:
 
| [http://www.qhull.org Qhull]
 
| [http://www.qhull.org Qhull]
 
| Computational geometry library
 
| Computational geometry library
 +
|
 
| Free software -- specific
 
| Free software -- specific
 
|
 
|
| {{codeline|libqhull-dev}}
 
| {{codeline|qhull}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 339: Line 305:
 
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
 
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
 
| QR factorization updating library
 
| QR factorization updating library
 +
|
 
| GNU GPL v3.0
 
| GNU GPL v3.0
 
|
 
|
| {{codeline|libqrupdate-dev}}
 
| {{codeline|qrupdate}} (AUR)
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 348: Line 313:
 
| [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
 
| Main author
 
|
 
|
| {{codeline|libsuitesparse-dev}}
 
| {{codeline|suitesparse}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none
Line 357: Line 321:
 
| [http://zlib.net zlib]
 
| [http://zlib.net zlib]
 
| Data compression library
 
| Data compression library
 +
|
 
| Provided "as is" -- various authors
 
| Provided "as is" -- various authors
 
|
 
|
| {{codeline|zlib1g-dev}}
 
| {{codeline|zlib}}
 
 
| style="background:yellow" |  
 
| style="background:yellow" |  
 
| none
 
| none

Revision as of 07:51, 23 December 2013

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

Critical  
Recommended  
Not critical  
Task Dependency Description Feature 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. GPL   none
FTGL FTGL is a free cross-platform Open Source C++ library that uses Freetype2 to simplify rendering fonts in OpenGL applications. MIT/X   none
GL2PS GL2PS is a C library providing high quality vector output for any OpenGL application. LGPL   none
pstoedit Translates PostScript and PDF graphics into other vector formats. GPL   none
Texi2HTML Perl script which converts Texinfo source files to HTML output. GPLv3   none
Texinfo Documentation system that uses a single source to produce both on-line information and printed output. GPL   none
TeX Live generic Mixed bag of generic macro packages and fonts. Free - proper attribution request   none
TeX Live Compiler for TeX doumentation. Free - proper attribution request   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

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