MXE: Difference between revisions
Jump to navigation
Jump to search
(→Example of compiling MXE-Octave: Being more verbose.) |
|||
Line 8: | Line 8: | ||
=== Example of compiling MXE-Octave === | === Example of compiling MXE-Octave === | ||
==== Preparation ==== | |||
# [[Windows_Installer#Installing_requirements_of_MXE_Octave|Install all requirements of MXE Octave]]. | # [[Windows_Installer#Installing_requirements_of_MXE_Octave|Install all requirements of MXE Octave]]. | ||
# <code>hg clone https://hg.octave.org/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>cd mxe-octave</code> | ||
# <code>./bootstrap</code> | # <code>./bootstrap</code> | ||
==== Configuration ==== | |||
<code>./configure --enable-64 --enable-native-build --enable-pic-flag host_alias=gnu-linux --enable-openblas --enable-jit</code> | |||
==== Build ==== | |||
<code>make all openblas JOBS=4</code> (adapt the value of the variable <code>JOBS</code> 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>cd ~/mxe-octave/usr/lib</code> | ||
# <code>mv libblas.so libblas.so.reference</code> | # <code>mv libblas.so libblas.so.reference</code> | ||
# <code>ln -s libopenblas.so libblas.so</code> | # <code>ln -s libopenblas.so libblas.so</code> | ||
==== Run ==== | |||
# MXE-Octave will exist in {{path|~/mxe-octave/usr/bin}} | # MXE-Octave will exist in {{path|~/mxe-octave/usr/bin}} | ||
# Add to your {{path|.bashrc}} file: <code>alias octave=~/mxe-octave | # 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>. | |||
=== Note for gnuplot === | === Note for gnuplot === |
Revision as of 08:54, 5 August 2019
MXE-Octave was forked 2012 from the MXE project and is useful 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.
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.
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
./configure --enable-64 --enable-native-build --enable-pic-flag host_alias=gnu-linux --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
.
Note for gnuplot
The gnuplot built by mxe-octave does not support cairo based terminals and lua/tikz terminals. If you want uses those feature, prepare gnuplot with those features and points its location setting to "gnuplot_binary" like
>> gnuplot_binary /usr/bin/gnuplot
References
- ↑ MXE-Octave README text by jwe.