MXE

Revision as of 07:50, 5 August 2019 by Siko1056 (talk | contribs) (Update introduction and motivation to use MXE-Octave.)

MXE-Octave is based on the MXE project and is useful for the following scenarios:

  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.

Examples of compiling Octave for different platforms

  • Compiling for your Linux system
  1. Download MXE-Octave as a compressed file.
  2. Unpack it in ~ or somewhere suitable.
  3. Check you have all the requirements, gfortran and libgl2ps-dev.
  4. cd into the directory (called ~/mxe-octave-123456789 or similiar).
  5. Type: ./bootstrap
  6. Type: ./configure --enable-64 --enable-native-build --enable-pic-flag host_alias=gnu-linux --enable-openblas --enable-jit
  7. Type: make
  8. Type: make openblas
  9. cd usr/lib
  10. mv libblas.so libblas.so.reference
  11. ln -s libopenblas.so libblas.so
  12. Octave will exist in ~/mxe-octave-123456789/usr/bin
  13. Add to your .bashrc file: alias octave=~/mxe-octave-123456789/usr/bin/octave

It's that easy...

  • Compiling for your Ubuntu Desktop x64 Linux (tested for 14.xx)
  1. In Ubuntu Desktop Linux 14.10 the above recipe fails during building BLAS library ...
  2. I have found a working solution how to build Octave 3.8.2 with ---enable-64 in Ubuntu Desktop Linux - see:
  3. BLOG: http://calaba.tumblr.com/post/107087607479/octave-64
  4. GitHub: https://github.com/calaba/octave-3.8.2-enable-64-ubuntu-14.04


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