Building: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Merged with "Building for Linux systems") |
||
(10 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]. | ||
==Dependencies== | ==Dependencies== | ||
Line 27: | Line 32: | ||
|- | |- | ||
! Task | ! Task | ||
! | ! Dependency | ||
! | ! Description | ||
! License / Copyright | ! License / Copyright | ||
! Version | ! Version | ||
! Level | ! Level | ||
! Recent CVE ? | ! Recent CVE ? | ||
Line 41: | Line 44: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 50: | Line 51: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 59: | Line 58: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 68: | Line 65: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 77: | Line 72: | ||
| The Flex project | | The Flex project | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 86: | Line 79: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 95: | Line 86: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 104: | Line 93: | ||
| Free Software Foundation | | Free Software Foundation | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 112: | Line 99: | ||
| [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 | | GNU GPL v2.0 | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 121: | Line 106: | ||
| [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. | ||
| | | Provided "as is" -- various authors | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 130: | Line 113: | ||
| [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 | | GNU LGPL v2.0 | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 139: | Line 120: | ||
| [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 | | GNU GPL v2.0 | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 148: | Line 127: | ||
| [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. | ||
| | | GNU GPL v3.0 | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 157: | Line 134: | ||
| [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 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 166: | Line 141: | ||
| TeX Live generic | | TeX Live generic | ||
| Mixed bag of generic macro packages and fonts. | | Mixed bag of generic macro packages and fonts. | ||
| Free | | Freely redistributable as defined by the Free Software Foundation | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 175: | Line 148: | ||
| [https://www.tug.org/texlive/ TeX Live] | | [https://www.tug.org/texlive/ TeX Live] | ||
| Compiler for TeX doumentation. | | Compiler for TeX doumentation. | ||
| Free | | Freely redistributable as defined by the Free Software Foundation | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 186: | Line 157: | ||
| BSD Style License | | BSD Style License | ||
| | | | ||
| style="background:green" | | | style="background:green" | | ||
| none | | none | ||
Line 196: | Line 165: | ||
| Free - proper attribution request | | Free - proper attribution request | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 205: | Line 172: | ||
| Free - proper attribution request | | Free - proper attribution request | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 214: | Line 179: | ||
| Free | | Free | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 223: | Line 186: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 232: | Line 193: | ||
| BSD like - various authors | | BSD like - various authors | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 241: | Line 200: | ||
| Free Software -- main author | | Free Software -- main author | ||
| > 7.32.00 | | > 7.32.00 | ||
| 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 250: | Line 207: | ||
| MIT -- GNU GPL v2.0 | | MIT -- GNU GPL v2.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 259: | Line 214: | ||
| GNU GPL v2.0 with static linking exception | | GNU GPL v2.0 with static linking exception | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 268: | Line 221: | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 277: | Line 228: | ||
| compatible with GNU GPL v3.0 | | compatible with GNU GPL v3.0 | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 286: | Line 235: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 295: | Line 242: | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 304: | Line 249: | ||
| various -- integrates many third-party libs | | various -- integrates many third-party libs | ||
| > 1.3.18 | | > 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 313: | Line 256: | ||
| BSD - like | | BSD - like | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 322: | Line 263: | ||
| Free specs -- license is driver dependent | | Free specs -- license is driver dependent | ||
| | | | ||
| style="background:red" | | | style="background:red" | | ||
| none | | none | ||
Line 331: | Line 270: | ||
| Free software -- specific | | Free software -- specific | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 340: | Line 277: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 349: | Line 284: | ||
| Main author | | Main author | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
Line 358: | Line 291: | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
| | | | ||
| style="background:yellow" | | | style="background:yellow" | | ||
| none | | none | ||
|} | |} | ||
==Security concerns== | ==Security concerns== |
Revision as of 23:22, 14 November 2016
General information about building the Octave source for different operating systems.
- Linux
- macOS
- 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 manual.
Dependencies
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 | Tanslates figures generated by xfig to a large variety of formats. | BSD Style License | 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.