Yambo on Ubuntu

Last modified by Xwiki VePa on 2024/02/07 07:36

This guide will help the user understand how to compile, install, and use Yambo on their own Ubuntu workstation. If you are using another platform, please refer to the appropriate documentation or contact Benjamin Alldritt for assistance.

Step-by-step guide

Requirements

To compile Yambo, you will need the following software:

  • Fortran compiler (gfortran)
  • C compiler (GCC)
  • MPI
  • FFTW
  • LAPACK
  • BLAS
  • Zlib
  • Curl
  • NetCDF
  • ETSF-IO
  • Vim

Instructions

Ubuntu 12.04 (64 bit)

  1. Install the required packages:

    sudo apt-get install gfortran libhdf5-mpich-dev libfftw3-dev liblapack-dev libblas-dev zlib1g-dev libcurl4-openssl-dev netcdf-bin libnetcdf-dev libetsf-io-dev vim
  2. Download the latest version of the Yambo source code and unpack into a new directory.

    mkdir ${HOME}/software
    mkdir ${HOME}/software/yambo
    cd ${HOME}/software/yambo
    wget http://qe-forge.org/gf/download/frsrelease/152/531/yambo-3.4.1-rev51.tgz
    tar -xvzf yambo-3.4.1-rev51.tar.gz
    cd yambo-3.4.1-rev51
  3. Configure Yambo for the local machine.

    ./configure --with-fftw=/usr/lib --with-lapack=/usr/lib --with-blas=/usr/lib --enable-netcdf-hdf5 --enable-netcdf-LFS --with-netcdf-lib=/usr/lib --with-netcdf-include=/usr/include --with-netcdf-link="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lz" --with-etsf-io-lib=/usr/lib --with-etsf-io-include=/usr/include
  4. Compile Yambo.

    make yambo interfaces
  5. Check if Yambo compiled correctly.

    ./bin/yambo

Ubuntu 14.04 (64 bit)

  1. Install the required packages:

    sudo apt-get install gfortran libhdf5-mpich-dev libfftw3-dev liblapack-dev libblas-dev zlib1g-dev libcurl4-openssl-dev netcdf-bin libnetcdf-dev libetsf-io-dev vim
  2. Download the latest version of the Yambo source code and unpack into a new directory.

    mkdir ${HOME}/software
    mkdir ${HOME}/software/yambo
    cd ${HOME}/software/yambo
    wget http://qe-forge.org/gf/download/frsrelease/152/531/yambo-3.4.1-rev51.tgz
    tar -xvzf yambo-3.4.1-rev51.tar.gz
    cd yambo-3.4.1-rev51
  3. Configure Yambo for the local machine.

    ./configure --with-fftw=/usr/lib --with-lapack=/usr/lib --with-blas=/usr/lib --enable-netcdf-hdf5 --enable-netcdf-LFS --with-netcdf-lib=/usr/lib --with-netcdf-include=/usr/include --with-netcdf-link="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lz -ldl" FCFLAGS=-cpp
  4. Compile Yambo.

    make yambo interfaces
  5. Check if Yambo compiled correctly.

    ./bin/yambo

Tips & Warnings

  • ETSF-IO on Ubuntu 14.04 is currently broken due to a package error. A bug report has been submitted to the developers to fix the issue.
  • Double precision (--enable-dp) is currently being investigated to determine if it functions properly
    • Ubuntu 12.04 - Not working (Yambo does not compile)
    • Ubuntu 14.04 - Working (Yambo compiles and runs)
  • OpenMP (--enable-open-mp) requires modification to the Configure file to function*

    Replace the following at line 5540:

    if test x"$enable_open_mp" = "xyes"; then
    OPENMPLIBS="-openmp -lpthread";
    openmp_cpp="-D_OPENMP"
    fi
    • With:

      if test x"$enable_open_mp" = "xyes"; then
       #
      if test x"$ac_compiler_gnu" = x"yes"; then
        OPENMPLIBS="-fopenmp -lpthread";
      else
        OPENMPLIBS="-openmp -lpthread";
      fi
      openmp_cpp="-D_OPENMP"
       #
      fi

 

You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Related articles

Unknown macro: contentbylabel. Click on this message for details.