完整编译gcc过程:cd /home/sharetar -zxf gcc-9.3.0.tar.gzrm -f gcc-9.3.0.tar.gzcd gcc-9.3.0./contrib/download_prerequisitesmkdir buildcd buildyum -y groupinstall "development tools" yum -y install dejagnu texinfo../configure --prefix=/home/software/gcc-9.3.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilibmake -j2 && make installcd /lib64/rm -f libstdc++.so.6ln -s /home/software/gcc-9.3.0/lib64/libstdc++.so.6.0.28 libstdc++.so.6echo '#%Module1.0set             GCC                     /home/software/gcc-9.3.0prepend-path    PATH                    ${GCC}/binprepend-path    LD_LIBRARY_PATH         ${GCC}/lib64prepend-path    INCLUDE                 ${GCC}/include' > /home/software/modules/gcc9cd /home/share/rm -rf gcc-9.3.0五、编译opemmpi-3.1.6cd /home/share/tar -jxf openmpi-3.1.6.tar.bz2rm -f openmpi-3.1.6.tar.bz2cd openmpi-3.1.6yum -y install libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686  libstdc++-devel.x86_64 libstdc++-static.i686 libstdc++-static.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 glibc-static.i686 glibc-static.x86_64 libgcc.i686 libgcc.x86_64 gcc-c++ libXScrnSaver.i686 libXScrnSaver.x86_64 gtk3 gtk2 pango kernel-devel-*./configure --prefix=/home/software/openmpimodule purgemodule load makemake && make installecho '#%Module1.0set             OPENMPI                 /home/software/openmpiprepend-path    PATH                    ${OPENMPI}/binprepend-path    LD_LIBRARY_PATH         ${OPENMPI}/libprepend-path    INCLUDE                 ${OPENMPI}/include' > /home/software/modules/openmpicd /home/share/rm -rf openmpi-3.1.6六、编译lapack-3.9.0cd /home/share/tar -zxf v3.9.0.tar.gzrm -f v3.9.0.tar.gzcd lapack-3.9.0/cp INSTALL/make.inc.gfortran ./make.incsed -i '/^FFLAGS =/s/$/ -fPIC -m64/' make.incsed -i '/^FFLAGS_NOOPT =/s/$/ -fPIC -m64/' make.incsed -i '/^BLASLIB/s/librefblas/libblas/' make.incmodule purgemodule load makemodule load openmpimodule load gcc9yum -y install gcc-gfortranmake lapack_install lib blaslibcp lib* /usr/lib64/cd /home/share/rm -rf lapack-3.9.0七、编译scalapack-2.1.0cd /home/share/tar -zxf scalapack-2.1.0.tgz rm -f scalapack-2.1.0.tgz cd scalapack-2.1.0cp SLmake.inc.example SLmake.incsed -i '/^FC  *=/s/=.*/= mpifort/' SLmake.incsed -i '/^CC  *=/s/=.*/= mpifort/' SLmake.incsed -i '/^NOOPT  *=/s/=.*/= -O0 -fPIC/' SLmake.incsed -i '/^FCFLAGS  *=/s/=.*/= -O3 -fPIC/' SLmake.incsed -i '/^CCFLAGS  *=/s/=.*/= -O3 -fPIC/' SLmake.incsed -i '/^BLASLIB  *=/s/=.*/= -L\/dirname\/lib -lblas/' SLmake.incsed -i '/^LAPACKLIB  *=/s/=.*/= -L\/dirname\/lib -llapack/' SLmake.incmodule purgemodule load makemodule load openmpi module load gcc9sed -i '0,/int   n/! s/int   n/int long n/' REDIST/SRC/pgemraux.csed -i 's|MPI_Comm_create(tcomm, tgrp|MPI_Comm_create_group(tcomm, tgrp, 0|g' BLACS/SRC/blacs_map_.csed -i 's|MPI_Comm_create(ucomm, bgrp|MPI_Comm_create_group(ucomm, bgrp, 0|g' BLACS/SRC/BI_TransUserComm.cmake -j2cp libscalapack.a /usr/lib64/cd /home/share/rm -rf scalapack-2.1.0八、编译fftw3cd /home/share/tar -zxf fftw-3.3.9.tar.gzrm -f fftw-3.3.9.tar.gzcd fftw-3.3.9module purgemodule load makemodule load openmpi module load gcc9./configure --prefix=/home/software/fftw3 --enable-shared --enable-static --enable-sse2 --enable-avx --enable-avx2 --enable-fma --enable-threads --enable-openmp --enable-mpimake -j2 && make installecho '#%Module1.0set             FFTW3                   /home/software/fftw3prepend-path    PATH                    ${FFTW3}/binprepend-path    LD_LIBRARY_PATH         ${FFTW3}/libprepend-path    INCLUDE                 ${FFTW3}/include' > /home/software/modules/fftw3cd /home/share/rm -rf fftw-3.3.9九、编译vasp5.4.4+vtstcode1.8cd /home/share/tar -zxf vasp.5.4.4.tar.gztar -zxf vtstcode-180.tgzrm -f vasp.5.4.4.tar.gz vtstcode-180.tgzcp vtstcode-180/* vasp.5.4.4/src/mv patch.5.4.4.16052018 vasp.5.4.4/cd vasp.5.4.4/yum -y install patchpatch -p0vi src/main.F将(约3147行):      CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & LATT_CUR%A,LATT_CUR%B,IO%IU6)改成:      CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &            TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)!          LATT_CUR%A,LATT_CUR%B,IO%IU6)vi src/.objects在chain.o前(约70行),添加如下内容(注意,不要在结尾有空格):        bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \        fire.o lanczos.o neb.o qm.o opt.o \module purgemodule load makemodule load openmpimodule load fftw3cp arch/makefile.include.linux_gnu ./makefile.includevi makefile.include在makefile.include文件的CPP_OPTIONS项后添加一行CPP_OPTIONS += -DLAPACK36LIBDIR项后填写blas、tmglib、lapack和scalapack库文件位置,这里用的是(末尾带斜杠):/usr/lib64/FFTW项后填写fftw安装路径,这里用的是(末尾不带斜杠):/home/software/fftw3make all或者分别编译:make std、make ncl、make gam生成vasp_gam vasp_ncl vasp_std 三个文件即完成,复制到你需要的地方即可。
01-05 17:50