Difference between revisions of "MXE"

From Octave
Jump to navigation Jump to search
m
(Some more tuning the info.)
Line 19: Line 19:
  
 
==== Configuration ====
 
==== 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">
 
<syntaxhighlight lang="text">
Line 31: Line 33:
 
     --enable-jit
 
     --enable-jit
 
</syntaxhighlight>
 
</syntaxhighlight>
 
For a comprehensive list of configuration options with a short explanation, type <code>./configure --help</code>.
 
 
On some older systems, it might be useful to consider adding the options <code>--disable-docs --disable-system-opengl --disable-system-x11-libs --disable-java</code> in case of building errors.
 
  
 
==== Build ====
 
==== Build ====
Line 54: Line 52:
 
# Start MXE-Octave by typing <code>octave</code>.
 
# Start MXE-Octave by typing <code>octave</code>.
  
=== Note for gnuplot ===
+
=== Known issues ===
 +
 
 +
==== gnuplot ====
  
The gnuplot built by mxe-octave does not support cairo based terminals and lua/tikz terminals.
+
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
+
If you want uses those features, prepare gnuplot with those features and type in the Octave command prompt
"gnuplot_binary" like
 
  
 
   >> gnuplot_binary /usr/bin/gnuplot
 
   >> 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-system-opengl</code>
 +
* <code>--disable-system-x11-libs</code>
 +
* <code>--disable-java</code>
 +
in case of building errors.
  
  

Revision as of 01:23, 5 August 2019

MXE-Octave was forked 2012 from the MXE project and is useful for building Octave in the following scenarios[1]:

  1. Cross-compilation for MS Windows (see also Windows_Installer) and other platforms.
  2. Building Octave on outdated Linux systems (e.g. only an old GCC version is available).
  3. Building Octave without root permission.
Warning icon.svg
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

  1. Install all requirements of MXE Octave.
  2. Decide for an installation directory (e.g. ~/mxe-octave).
  3. cd ~
  4. hg clone https://hg.octave.org/mxe-octave mxe-octave
  5. cd mxe-octave
  6. ./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.

  1. cd ~/mxe-octave/usr/lib
  2. mv libblas.so libblas.so.reference
  3. ln -s libopenblas.so libblas.so

Run

  1. MXE-Octave will exist in ~/mxe-octave/usr/bin
  2. Add the command octave as alias to your .bashrc file: alias octave=~/mxe-octave/usr/bin/octave
  3. 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