Changes

Jump to navigation Jump to search

MXE

1,517 bytes added, 9 August
Updating config options according to https://octave.1599824.n4.nabble.com/mxe-octave-status-td4685260.html.
[https://hg.octave.org/mxe-octave MXE-Octave] is based on was forked 2012 from the [https://mxe.cc/ MXE project] and is useful for building Octave in the following scenarios<ref>[https://hg.octave.org/mxe-octave/file/6836b2f08479/README MXE-Octave README] text by [[User:jwe|jwe]].</ref>:
# Cross-compilation for MS Windows (see also [[Windows_InstallerWindows Installer]]) and other platforms.
# Building Octave on outdated Linux systems (e.g. only an old GCC version is available).
# Building Octave without root permission.
{{Warning|MXE-Octave is '''not''' the best choice for building Octave, if your system already provides recent versions of GCC and other required build dependencies. See [[:Category:Installation]] for other install options.}}
=== Examples Example of compiling MXE-Octave for different platforms ===
* '''Compiling for your Linux system'''# Download [http://hg.octave.org/mxe-octave MXE-Octave] as a compressed file.# Unpack it in ~ or somewhere suitable.# Check you have all the [http://mxe.cc/#requirements requirements], gfortran and libgl2ps-dev.# cd into the directory (called ~/mxe-octave-123456789 or similiar).# Type: ./bootstrap# Type: ./configure --enable-64 --enable-native-build --enable-pic-flag host_alias=gnu-linux --enable-openblas --enable-jit# Type: make# Type: make openblas# cd usr/lib# mv libblas.so libblas.so.reference# ln -s libopenblas.so libblas.so# Octave will exist in ~/mxe-octave-123456789/usr/bin# Add to your .bashrc file: alias octave=~/mxe-octave-123456789/usr/bin/octave== Preparation ====
# [[Windows_Installer#Installing_requirements_of_MXE_Octave|Install all requirements of MXE Octave]].
# Decide for an installation directory (e.g. {{path|~/mxe-octave}}).
# <code>cd ~</code>
# <code>hg clone https://hg.octave.org/mxe-octave mxe-octave</code>
# <code>cd mxe-octave</code>
# <code>./bootstrap</code>
=== Note for gnuplot = Configuration ====
For a comprehensive list of configuration options with a short explanation, type <code>./configure --help</code>. See also the [[#Known issues|known issues]] below. <syntaxhighlight lang="text">./configure \ --prefix=$HOME/mxe-octave \ --enable-native-build \ --enable-octave=release \ --enable-64 \ --enable-binary-packages \ --enable-devel-tools \ --enable-fortran-int64 \ --enable-lib64-directory \ --enable-openblas \ --enable-pic-flag \ --disable-system-fontconfig \ --disable-system-gcc \ --disable-system-opengl \ --disable-system-x11-libs \ --with-ccache \ gnu-linux</syntaxhighlight> ==== Build ==== <code>make -j3 JOBS=2 all openblas</code> Adapt the values of the variables <code>-j</code> (parallel package builds) and <code>JOBS</code> (parallel build jobs) to your needs. ==== Replace reference BLAS by OpenBLAS ==== In general using the [https://www.openblas.net/ OpenBLAS] library results in faster matrix-vector operations compared to the reference BLAS library. # <code>cd ~/mxe-octave/usr/lib</code># <code>mv libblas.so libblas.so.reference</code># <code>ln -s libopenblas.so libblas.so</code> ==== Run ==== # MXE-Octave will exist in {{path|~/mxe-octave/usr/bin}}# Add the command <code>octave</code> as alias to your {{path|.bashrc}} file: <code>alias octave=~/mxe-octave/usr/bin/octave</code># Start MXE-Octave by typing <code>octave</code>. === Known issues === ==== gnuplot ==== The gnuplot built by mxeMXE-octave Octave does not support cairo based terminals and lua/tikz terminals.If you want uses those featurefeatures, prepare gnuplot with those features and points its location setting to "gnuplot_binary" liketype in the Octave command prompt
>> gnuplot_binary /usr/bin/gnuplot
 
==== Build errors on older systems ====
 
On some older systems, it might be useful to consider adding the configuration options
* <code>--disable-docs</code>
* <code>--disable-java</code>
in case of building errors.
 
 
=== References ===
 
<references/>
[[Category:Building]]

Navigation menu