Building: Difference between revisions

Jump to navigation Jump to search
2,223 bytes added ,  14 November 2016
Merged with "Building for Linux systems‎"
No edit summary
(Merged with "Building for Linux systems‎")
(38 intermediate revisions by 4 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.
* 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.
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].
* [[Octave for Debian systems]].
* [[Octave for Arch Linux]].
* [[Building for Macintosh platform]]
* [[Building on Cygwin platform]]


==Dependencies==
==Dependencies==
Line 27: Line 32:
|-
|-
! Task
! Task
! Name
! Dependency
! Usage
! Description
! Debian
! License / Copyright
! Version
! Level
! Level
! Recent CVE ?
! Recent CVE ?
|-
|-
| rowspan="8"| Build tools
| rowspan="8"| Build tools
| C++, C, and Fortran compilers
| [http://gcc.gnu.org C++, C, and Fortran compilers]
| Compiling the source code
| Compiling the source code
| {{codeline|build-essential}}
| GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 42: Line 49:
| [http://www.gnu.org/software/make GNU Make]
| [http://www.gnu.org/software/make GNU Make]
| Makefile processor
| Makefile processor
| {{codeline|make}}
| GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
|-http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4589
|-
| AWK, sed, and other Unix utilities
| Unix utilities: gawk, gperf, less, ncurses
| Miscellaneous tasks
| Miscellaneous tasks
| {{codeline|awk}}, {{codeline|sed}}, ...
| GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 54: Line 63:
| [http://www.gnu.org/software/bison Bison]
| [http://www.gnu.org/software/bison Bison]
| Parser generator
| Parser generator
| {{codeline|bison}}
| GNU GPL v3.0
|
| style="background:green" |  
| style="background:green" |  
| none
| none
Line 60: Line 70:
| [http://www.gnu.org/software/flex Flex]
| [http://www.gnu.org/software/flex Flex]
| Lexical analyzer
| Lexical analyzer
| {{codeline|flex}}
| The Flex project
|
| style="background:green" |  
| style="background:green" |  
| none
| none
Line 66: Line 77:
| [http://www.gnu.org/software/autoconf Autoconf]
| [http://www.gnu.org/software/autoconf Autoconf]
| Software configuration
| Software configuration
| {{codeline|autoconf}}
| GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 72: Line 84:
| [http://www.gnu.org/software/automake Automake]
| [http://www.gnu.org/software/automake Automake]
| Makefile generator
| Makefile generator
| {{codeline|automake}}
| GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 78: Line 91:
| [http://www.gnu.org/software/libtool Libtool]
| [http://www.gnu.org/software/libtool Libtool]
| Dependency of automake
| Dependency of automake
| {{codeline|libtool}}
| Free Software Foundation
|
| style="background:red" |  
| 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
| none
|-
|-
Line 85: Line 163:
| [http://www.netlib.org/blas BLAS]
| [http://www.netlib.org/blas BLAS]
| Basic Linear Algebra Subroutine library
| Basic Linear Algebra Subroutine library
| {{codeline|libatlas-base-dev}}
| Free - proper attribution request
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 91: Line 170:
| [http://www.netlib.org/lapack LAPACK]
| [http://www.netlib.org/lapack LAPACK]
| Linear Algebra Package
| Linear Algebra Package
| {{codeline|liblapack-dev}}
| Free - proper attribution request
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 97: Line 177:
| [http://www.pcre.org PCRE]
| [http://www.pcre.org PCRE]
| Perl Compatible Regular Expression library
| Perl Compatible Regular Expression library
| {{codeline|libpcre3-dev}}
| Free
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 103: Line 184:
| [http://www.gnu.org/s/readline GNU Readline]
| [http://www.gnu.org/s/readline GNU Readline]
| Command-line editing library
| Command-line editing library
| {{codeline|libreadline-dev}}
| GNU GPL v3.0
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| 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
| {{codeline|libarpack2-dev}}
| BSD like - various authors
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 115: Line 198:
| [http://curl.haxx.se cURL]
| [http://curl.haxx.se cURL]
| Library for transferring data with URL syntax
| Library for transferring data with URL syntax
| {{codeline|curl}}
| Free Software -- main author
| > 7.32.00
| style="background:red" |  
| style="background:red" |  
| CVE-2013-4545
| [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
| {{codeline|libfftw3-dev}}
| MIT -- GNU GPL v2.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 127: Line 212:
| [http://www.fltk.org FLTK]
| [http://www.fltk.org FLTK]
| Portable GUI toolkit
| Portable GUI toolkit
| {{codeline|libfltk1.3-dev}}
| GNU GPL v2.0 with static linking exception
|
| style="background:red" |  
| style="background:red" |  
| none
| 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
| {{codeline|fontconfig}}
| Provided "as is" -- various authors
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 139: Line 226:
| [http://www.freetype.org FreeType]
| [http://www.freetype.org FreeType]
| Portable font engine
| Portable font engine
| {{codeline|libfreetype6-dev}}
| compatible with GNU GPL v3.0
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 145: Line 233:
| [http://www.gnu.org/software/glpk GLPK]
| [http://www.gnu.org/software/glpk GLPK]
| GNU Linear Programming Kit
| GNU Linear Programming Kit
| {{codeline|libglpk-dev}}
| GNU GPL v3.0
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
Line 151: Line 240:
| [http://www.gnuplot.info gnuplot]
| [http://www.gnuplot.info gnuplot]
| Interactive graphics program
| Interactive graphics program
| {{codeline|gnuplot}}
| Provided "as is" -- various authors
|
| style="background:red" |  
| style="background:red" |  
| none
| none
Line 157: Line 247:
| [http://www.graphicsmagick.org GraphicsMagick++]
| [http://www.graphicsmagick.org GraphicsMagick++]
| Image processing library
| Image processing library
| {{codeline|libgraphicsmagick++1-dev}}
| various -- integrates many third-party libs
| > 1.3.18
| 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 163: Line 254:
| [http://www.hdfgroup.org/HDF5 HDF5]
| [http://www.hdfgroup.org/HDF5 HDF5]
| Library for manipulating portable data files
| Library for manipulating portable data files
| {{codeline|libhdf5-dev}}
| BSD - like
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
Line 169: Line 261:
| [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" |  
| style="background:red" |  
| none
| none
Line 175: Line 268:
| [http://www.qhull.org Qhull]
| [http://www.qhull.org Qhull]
| Computational geometry library
| Computational geometry library
| {{codeline|libqhull-dev}}
| Free software -- specific
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
Line 181: Line 275:
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
| [http://sourceforge.net/projects/qrupdate QRUPDATE]
| QR factorization updating library
| QR factorization updating library
| {{codeline|libqrupdate-dev}}
| GNU GPL v3.0
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
Line 187: Line 282:
| [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
| {{codeline|libsuitesparse-dev}}
| Main author
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
Line 193: Line 289:
| [http://zlib.net zlib]
| [http://zlib.net zlib]
| Data compression library
| Data compression library
| {{codeline|zlib1g-dev}}
| Provided "as is" -- various authors
|
| style="background:yellow" |  
| style="background:yellow" |  
| none
| none
|}
|}


==Security concerns==
==Security concerns==
* CVE-2013-4545 (cURL): solved by version 7.34.00. Upgrade dependencies.
* 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.
* CVE-2013-4589 (graphicsmagick): the actual version (1.3.18, released March 9th, 2013), is affected. Awaiting a new release.
   
   
[[Category:Building]]
[[Category:Building]]

Navigation menu