Install Yambo on Ubuntu/LinuxMint: Difference between revisions
No edit summary |
m (Removed patch level) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Here we can find the instruction to install Yambo 5 | Here we can find the instruction to install Yambo 5.1 on a standard machine with a [https://ubuntu.com/ Ubuntu]/[https://linuxmint.com/ LinuxMint] distribution. | ||
We suppose you have root permission on your machine to install all the required packages. | We suppose you have root permission on your machine to install all the required packages. | ||
Line 16: | Line 16: | ||
download lastest Yambo release, in this case the 5. | download lastest Yambo release, in this case the 5.1.1: | ||
wget https://github.com/yambo-code/yambo/archive/5. | wget https://github.com/yambo-code/yambo/archive/5.1.1.tar.gz -O yambo-5.1.1.tar.gz | ||
decompress the file | decompress the file | ||
tar zxfv yambo-5. | tar zxfv yambo-5.1.1.tar.gz && cd yambo-5.1.1 | ||
configure Yambo | configure Yambo | ||
./configure --disable-mpi --enable-open-mp --enable-msgs-comps --enable-time-profile --enable-memory-profile | ./configure --disable-mpi --enable-open-mp \ | ||
--enable-slepc-linalg --disable-hdf5-par-io \ | |||
--enable-msgs-comps --enable-time-profile --enable-memory-profile \ | |||
--with-blas-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" \ | |||
--with-lapack-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" | |||
compile the code (where -j4 means that the code is compiled in parallel on 4 cores): | compile the code (where -j4 means that the code is compiled in parallel on 4 cores): | ||
make -j4 | make -j4 core | ||
The compilation was successful if there are the yambo executables in the bin/ directory. | The compilation was successful if there are the yambo executables in the <code>bin/</code> directory. | ||
From now the instructions are optional but suggested! You may need sudo privileges to install Yambo in a system directory, otherwise install it in your home space. | From now the instructions are optional but suggested! You may need sudo privileges to install Yambo in a system directory, otherwise install it in your home space. | ||
Line 42: | Line 42: | ||
Create a folder to install code and libraries: | Create a folder to install code and libraries: | ||
mkdir -p /usr/local/yambo-5. | mkdir -p /usr/local/yambo-5.1.1/lib | ||
copy code and libraries in Yambo folder: | copy code and libraries in Yambo folder: | ||
cp -r bin /usr/local/yambo-5. | cp -r bin /usr/local/yambo-5.1.1/ | ||
cp -r lib/external/*/*/lib/*.* /usr/local/yambo-5. | cp -r lib/external/*/*/lib/*.* /usr/local/yambo-5.1.1/lib/ | ||
cp -r lib/external/*/*/v4/serial/lib/*.* /usr/local/yambo-5. | cp -r lib/external/*/*/v4/serial/lib/*.* /usr/local/yambo-5.1.1/lib/ | ||
you can remove the tar.gz file and the Yambo folder (optional): | you can remove the tar.gz file and the Yambo folder (optional): | ||
cp .. | cp .. | ||
rm -rf yambo-5. | rm -rf yambo-5.1.1 yambo-5.1.1.tar.gz | ||
set the path to the Yambo bin folder, for tcsh/csh: | set the path to the Yambo bin folder, for tcsh/csh: | ||
setenv PATH=/usr/local/yambo-5. | setenv PATH=/usr/local/yambo-5.1.1/bin:$PATH | ||
setenv LD_LIBRARY_PATH=/usr/local/yambo-5. | setenv LD_LIBRARY_PATH=/usr/local/yambo-5.1.1/lib:$LD_LIBRARY_PATH | ||
or in bash: | or in bash: | ||
export PATH=/usr/local/yambo-5. | export PATH=/usr/local/yambo-5.1.1/bin:$PATH | ||
export LD_LIBRARY_PATH=/usr/local/yambo-5. | export LD_LIBRARY_PATH=/usr/local/yambo-5.1.1/lib:$LD_LIBRARY_PATH | ||
you are ready to use Yambo!!!! | you are ready to use Yambo!!!! | ||
Line 72: | Line 72: | ||
you can copy also the include files: | you can copy also the include files: | ||
mkdir -p /usr/local/yambo-5. | mkdir -p /usr/local/yambo-5.1.1/include | ||
cp -r lib/external/*/*/include/*.* /usr/local/yambo-5. | cp -r lib/external/*/*/include/*.* /usr/local/yambo-5.1.1/include/ | ||
cp -r lib/external/*/*/v4/serial/include/*.* /usr/local/yambo-5. | cp -r lib/external/*/*/v4/serial/include/*.* /usr/local/yambo-5.1.1/include/ | ||
and can add to the configure the following lines: | and can add to the configure the following lines: | ||
export YAMBO_LIBS=/usr/local/yambo-5. | export YAMBO_LIBS=/usr/local/yambo-5.1.1 | ||
and use the following options in the configure: | |||
--with-iotk-path="${YAMBO_LIBS}" --with-libxc-path="${YAMBO_LIBS}" --with-hdf5-path="${YAMBO_LIBS}" --with-netcdf-path="${YAMBO_LIBS}" --with-netcdff-path="${YAMBO_LIBS}" \ | --with-iotk-path="${YAMBO_LIBS}" --with-libxc-path="${YAMBO_LIBS}" --with-hdf5-path="${YAMBO_LIBS}" --with-netcdf-path="${YAMBO_LIBS}" --with-netcdff-path="${YAMBO_LIBS}" \ |
Latest revision as of 17:12, 4 November 2024
Here we can find the instruction to install Yambo 5.1 on a standard machine with a Ubuntu/LinuxMint distribution.
We suppose you have root permission on your machine to install all the required packages.
Run apt-get to update the package list
apt-get -yqq update
Install compilers, python, mkl, and all necessary libraries to compile Yambo:
apt-get install build-essential ca-certificates curl file \ make gcc g++ gfortran git gnupg2 iproute2 \ unzip m4 wget git zlib1g-dev ssh \ libmkl-avx libmkl-avx2 libmkl-avx512 libmkl-core libmkl-def \ libmkl-dev libmkl-gf-ilp64 libmkl-gf-lp64 libmkl-gnu-thread
download lastest Yambo release, in this case the 5.1.1:
wget https://github.com/yambo-code/yambo/archive/5.1.1.tar.gz -O yambo-5.1.1.tar.gz
decompress the file
tar zxfv yambo-5.1.1.tar.gz && cd yambo-5.1.1
configure Yambo
./configure --disable-mpi --enable-open-mp \ --enable-slepc-linalg --disable-hdf5-par-io \ --enable-msgs-comps --enable-time-profile --enable-memory-profile \ --with-blas-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" \ --with-lapack-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
compile the code (where -j4 means that the code is compiled in parallel on 4 cores):
make -j4 core
The compilation was successful if there are the yambo executables in the bin/
directory.
From now the instructions are optional but suggested! You may need sudo privileges to install Yambo in a system directory, otherwise install it in your home space.
Create a folder to install code and libraries:
mkdir -p /usr/local/yambo-5.1.1/lib
copy code and libraries in Yambo folder:
cp -r bin /usr/local/yambo-5.1.1/ cp -r lib/external/*/*/lib/*.* /usr/local/yambo-5.1.1/lib/ cp -r lib/external/*/*/v4/serial/lib/*.* /usr/local/yambo-5.1.1/lib/
you can remove the tar.gz file and the Yambo folder (optional):
cp .. rm -rf yambo-5.1.1 yambo-5.1.1.tar.gz
set the path to the Yambo bin folder, for tcsh/csh:
setenv PATH=/usr/local/yambo-5.1.1/bin:$PATH setenv LD_LIBRARY_PATH=/usr/local/yambo-5.1.1/lib:$LD_LIBRARY_PATH
or in bash:
export PATH=/usr/local/yambo-5.1.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/yambo-5.1.1/lib:$LD_LIBRARY_PATH
you are ready to use Yambo!!!!
Optional for developers
you can copy also the include files:
mkdir -p /usr/local/yambo-5.1.1/include cp -r lib/external/*/*/include/*.* /usr/local/yambo-5.1.1/include/ cp -r lib/external/*/*/v4/serial/include/*.* /usr/local/yambo-5.1.1/include/
and can add to the configure the following lines:
export YAMBO_LIBS=/usr/local/yambo-5.1.1
and use the following options in the configure:
--with-iotk-path="${YAMBO_LIBS}" --with-libxc-path="${YAMBO_LIBS}" --with-hdf5-path="${YAMBO_LIBS}" --with-netcdf-path="${YAMBO_LIBS}" --with-netcdff-path="${YAMBO_LIBS}" \ --with-petsc-path="${YAMBO_LIBS}" --with-slepc-path="${YAMBO_LIBS}"
so the next time you recompile yambo from scrach it will not recompile the libraries.