Compiling GDL (gnudatalanguage)

1 minute read

GDL (GNU Data Language) is a free open-source program that runs most IDL code. GDL is easily installed by:

or you can compile GDL from source.

Compile

  1. Prereqs
    apt install libbz2-dev libplplot-dev libfontconfig1-dev libplplot-dev libncurses5-dev libreadline-dev libgsl0-dev libwxgtk2.8-dev libmagick++-dev libnetcdf-dev libhdf4-alt-dev libgraphicsmagick++1-dev libhdf5-serial-dev libfftw3-dev python-dev libeigen3-dev pslib-dev libqhull-dev
    
  2. Download GDL source and extract

    tar xf gdl-*.tgz
    
    cd gdl-*
    
  3. Compile GDL Gnu Data Language program
    mkdir release
    
    cd release
    
    cmake -DENABLE_DYNDRIVERS=OFF ..
    make -j4
    make check
    make install
    

If cmake reports libeigen being too old, read below to the optional LibEigen3 section.

Notes

  • Errors on runtime search path conflicts: temporarily comment out those paths in ~/.bashrc (typically from Anaconda Python, libreadline, libhistory, libz, libjpeg.so)
  • cmake error about libeigen being too old: get a newer libeigen by downloading libeigen and extract to ~/libeigen. Then, recompile GDL with
    cmake -DENABLE_DYNDRIVERS=OFF -DEIGEN3DIR=$HOME/libeigen
    make -j4
    make check
    make install
    

OR you can compile as in the section below

Basic GDL Compilation

If you’re having problems with LZMA errors, you can try disabling HDF5 by

cmake -DENABLE_DYNDRIVERS=OFF -DHDF5=OFF ..

LibEigen (optional)

When compiling GDL, you may need a libeigen3 newer than your operating system supports – feel free to download a newer version of libeigen3 and compile:

apt install gfortran libsuperlu3-dev libmetis-dev libscotch-dev libmpfr-dev libadolc-dev qt4-qmake

cd /tmp

tar xf 3.*.tar.bz2

cd eigen* && mkdir release && cd release

cmake ..

make install

GDL missing libraries fix

ln -s /usr/lib/x86_64-linux-gnu/libgsl.so.19 /usr/local/lib/libgsl.so.0

ln -s /usr/lib/libGraphicsMagick++-Q16.so.12 /usr/local/lib/libGraphicsMagick++.so.3

Leave a Comment