User Tools

Site Tools


howto:compiling_octave_3_2_4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

howto:compiling_octave_3_2_4 [2012/07/27 14:26] (current)
kevin created
Line 1: Line 1:
 +====== Compiling Octave 3.2.4 from Source ====== ​
  
 +This guide is written as to aid CHPC users in compiling Octave version 3.2.4 from source on the Sun Tsessbe Cluster. Its recommended that you make you use of temporary or scratch directory to do all the compilation in (i.e. ~/scratch or /​tmp/​$USER),​ as to save disk space in your home directory.
 +
 +Also note that for this guide, all binary and libraries are installed home directory, i.e prefix=$HOME. Add the following lines to the end of your .bashrc file
 +  export PATH=/​opt/​gridware/​gcc-4.3/​bin:​$PATH
 +  export LD_LIBRARY_PATH=/​opt/​gridware/​gcc-4.3/​lib64/:/​opt/​gridware/​gcc-4.3/​lib/:​$HOME/​lib
 +  export F77=gfortran
 +Logout and log in again,
 +  $ gcc --version
 +    gcc (GCC) 4.3.4
 +
 +
 +===== Prerequisites (optional) =====
 +
 +These prerequisites are not necessary but should boost performance, ​
 +
 +=== FFTW   ===
 +
 +"FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)" [[http://​www.fftw.org/​|FFTW Homepage]]
 +
 +  $ cd ~/scratch
 +  $ wget http://​www.fftw.org/​fftw-3.3.tar.gz
 +  $ tar -xf fftw-3.3.tar.gz
 +  $ cd fftw-3.3
 +Make double precision libraries first
 +  $ mkdir BUILD_dp
 +  $ cd BUILD_dp
 +  $ ../​configure --prefix=$HOME ​ --with-pic --with-gnu-ld
 +  $ make
 +  $ make check #test it
 +  $ make install
 +Make single precision libraries first
 +  $ cd ..
 +  $ mkdir BUILD_sp
 +  $ cd BUILD_sp
 +  $ ../​configure --prefix=$HOME ​ --with-pic --with-gnu-ld --enable-single
 +  $ make
 +  $ make check #test it
 +  $ make install
 +  ​
 +
 +===== Download Source =====
 +
 +Since the ftp is blocked on the Tsessbe login node, make use of an http mirror to download octave.
 +  $ cd ~/​scratch ​
 +  $ wget http://​www.mirrorservice.org/​sites/​ftp.gnu.org/​gnu/​octave/​octave-3.2.4.tar.bz2
 +  $ tar -xf octave-3.2.4.tar.bz2
 +  ​
 +===== Configuration =====
 +
 +   $ cd ~/​scratch/​octave-3.2.4
 +   $ mkdir BUILD
 +   $ cd BUILD
 +Without any prerequisites packages
 +   $ ../​configure --prefix=$HOME --without-framework-opengl --without-fftw
 +With additional package/​library ​
 +   $ export LDFLAGS="​-L$HOME/​lib"​
 +   $ export CXXFLAGS="​-L$HOME/​lib"​
 +   $ ../​configure --prefix=$HOME --without-framework-opengl ​
 +   
 +After configuration is complete, alot of warning about missing libraries are given
 +  ​
 +===== Build =====
 +
 +   $ make
 +
 +If errors occur such as 
 +  * g++: Internal error: Killed (program cc1plus)
 +wait a while and then make again, as the process was killed by the usage limiter which runs on the login node. If nessary try the approach shown in [[guide:​compiling_gcc#​compiling_gcc|Compiling GCC from Source]].
 +
 +===== Test =====
 +
 +  $ make check
 +  ​
 +Test summary, when constructing this guide was :
 +  PASS   5428
 +  FAIL      4
 +
 +
 +===== Install =====
 +
 +  $ make install ​
 +  ​
 +Clean up your installation files. Restore/​Setup your .bashrc file,
 +  export LD_LIBRARY_PATH=$HOME/​lib64:​$LD_LIBRARY_PATH
 +  export LD_LIBRARY_PATH=$HOME/​lib:​$LD_LIBRARY_PATH
 +  export PATH=$HOME/​bin:​$PATH
 +  ​
 +for running octave on the worker nodes, you may need to make a copy of the libblas libraries placed in a folder on the ld_library_path ...
 +  $ cd $HOME/lib
 +  $ cp /​usr/​lib64/​libblas.* ./
/var/www/wiki/data/pages/howto/compiling_octave_3_2_4.txt · Last modified: 2012/07/27 14:26 by kevin