MXE: Difference between revisions
(Some more tuning the info.) |
m (Link fix.) |
||
Line 1: | Line 1: | ||
[https://hg.octave.org/mxe-octave MXE-Octave] 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>: | [https://hg.octave.org/mxe-octave MXE-Octave] 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 [[ | # Cross-compilation for MS Windows (see also [[Windows Installer]]) and other platforms. | ||
# Building Octave on outdated Linux systems (e.g. only an old GCC version is available). | # Building Octave on outdated Linux systems (e.g. only an old GCC version is available). | ||
# Building Octave without root permission. | # Building Octave without root permission. |
Revision as of 09:24, 5 August 2019
MXE-Octave was forked 2012 from the MXE project and is useful for building Octave in the following scenarios[1]:
- Cross-compilation for MS Windows (see also Windows Installer) and other platforms.
- Building Octave on outdated Linux systems (e.g. only an old GCC version is available).
- Building Octave without root permission.
Example of compiling MXE-Octave
Preparation
- Install all requirements of MXE Octave.
- Decide for an installation directory (e.g. ~/mxe-octave).
cd ~
hg clone https://hg.octave.org/mxe-octave mxe-octave
cd mxe-octave
./bootstrap
Configuration
For a comprehensive list of configuration options with a short explanation, type ./configure --help
. See also the known issues below.
./configure \
--prefix=$HOME/mxe-octave \
--enable-native-build \
--enable-octave=release \
--enable-64 \
--enable-fortran-int64 \
--enable-pic-flag \
--enable-openblas \
--enable-jit
Build
make all openblas JOBS=4
(adapt the value of the variable JOBS
to your needs).
Replace reference BLAS by OpenBLAS
In general using the OpenBLAS library results in faster matrix-vector operations compared to the reference BLAS library.
cd ~/mxe-octave/usr/lib
mv libblas.so libblas.so.reference
ln -s libopenblas.so libblas.so
Run
- MXE-Octave will exist in ~/mxe-octave/usr/bin
- Add the command
octave
as alias to your .bashrc file:alias octave=~/mxe-octave/usr/bin/octave
- Start MXE-Octave by typing
octave
.
Known issues
gnuplot
The gnuplot built by MXE-Octave does not support cairo based terminals and lua/tikz terminals. If you want uses those features, prepare gnuplot with those features and type 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
--disable-docs
--disable-system-opengl
--disable-system-x11-libs
--disable-java
in case of building errors.
References
- ↑ MXE-Octave README text by jwe.