1. Compile the netlib lapack and blas libraries according to this post: http://verahill.blogspot.com.au/2012/09/compiling-netlibs-lapack-and-blas-on.html
2. Compile the fftw libraries according to this post (ignore the sections on Openblas and Gromacs):
http://verahill.blogspot.com.au/2012/05/gromacs-with-external-fftw3-and-blas-on.html
3. Compile CPMD. We'll be following this post in large parts.
Register with cpmd.org. Once you're approved download the cpmd source to ~/tmp.
sudo apt-get install libopenmpi-dev openmpi-bin
cd ~/tmp tar -xvf cpmd-v3_15_3.tar.gz cd CPMD/CONFIGURECreate the file LINUX-x86_64-DEBIAN:
IRAT=2 CFLAGS='-c -O2 -Wall' CPP='/lib/cpp -P -C -traditional' CPPFLAGS='-D__Linux -D__PGI -D__GNU -DFFT_FFTW3 -DPARALLEL -DPOINTER8' FFLAGS='-c -O2 -fcray-pointer -fno-whole-file -fsecond-underscore' LFLAGS='-l:/opt/fftw/fftw-3.3.2/double/lib/libfftw3.a -l:/opt/fftw/fftw-3.3.2/double/lib/libfftw3_mpi.a -l:/opt/fftw/fftw-3.3.2/double/lib/libfftw3_threads.a -I/usr/include -l:/opt/netlib/blas/lib/libnetblas.so -l:/opt/netlib/lapack/lib/liblapack.so -lpthread -lmpi' FFLAGS_GROMOS=' $(FFLAGS)' FC='mpif77 -fbounds-check' CC='mpicc' LD='mpif77 -fbounds-check'
Next edit ~/tmp/CPMD/wfnio.F and change the following lines:
15 CHARACTER(len=*) TAG 63 IF(TAG(1:2).EQ.'NI') THEN 201 IF(TAG(1:2).NE.'NI') THEN 271 IF(TAG(1:2).EQ.'NI') THEN
Now, in ~/tmp/CPMD, run
./mkconfig.sh LINUX-x86_64-DEBIAN > Makefile make sudo mkdir /opt/cpmd sudo chown $USER /opt/cpmd cp cpmd.x /opt/cpmd
And follow everything below 'Done! Almost.' in this post: http://verahill.blogspot.com.au/2012/07/not-solved-compiling-cpmd-on-debian.html