Yambo on Ubuntu
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)
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 vimDownload 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-rev51Configure 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/includeCompile Yambo.
make yambo interfacesCheck if Yambo compiled correctly.
./bin/yambo
Ubuntu 14.04 (64 bit)
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 vimDownload 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-rev51Configure 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=-cppCompile Yambo.
make yambo interfacesCheck 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"
fiWith:
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
Related articles
- NetCDF flags - Yambo forum reference
- Incorrect -C compiler flag - http://www.tddft.org/pipermail/libxc/2013-August/000143.html
- Missing -ldl linker (Ubuntu 14.04) - http://flummox-engineering.blogspot.fi/2014/04/dlclose-glibc-error-during-compilation.html
Unknown macro: contentbylabel. Click on this message for details.