User Tools

Site Tools


howto:compile_on_windows_with_cygwin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:compile_on_windows_with_cygwin [2015/12/23 01:31] – [4.Installation CP2K on Windows PC which not installed Cygwin] 202.212.20.216howto:compile_on_windows_with_cygwin [2023/12/01 00:25] (current) krack
Line 1: Line 1:
-====== How to Compile and Install CP2K on Windows with Cygwin ======+<note tip>We recommend to try first the [[https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview|Windows Subsystem for Linux]] (WSL) before reaching for Cygwin
 +Check [[howto:compile_on_windows|this howto]] for further details. 
 +</note>
  
-===== 1.Cygwin installation: ===== 
-[[http://www.cygwin.com|Cygwin]] is a large collection of GNU and Open Source tools which provides functionality similar to a Linux distribution on Windows.\\ 
-To compile CP2K on Windows, you should install [[http://www.cygwin.com|Cygwin]] in the first place if it is not installed on your Windows PC.\\ 
-For 32 bit Windows execute  [[http://cygwin.com/setup-x86.exe|setup_x86.exe]] and follow the rest of directions in the wizard. 
-For 64 bit Windows[[http://cygwin.com/setup-x86_64.exe|setup_x86_64.exe]] can be used.\\ 
-When installing Cygwin make sure you install the following additional packages:\\ 
-  *Devel 
-    *“bison” 
-    *“byacc” 
-    *“gcc-fortran” 
-    *“gcc-g++” 
-    *“make” 
-  *Libs  
-      *“lapack” 
-      *“liblapack-devel” 
-      *“liblapack0” 
-  *Python\\ 
-Please operate according to the wizard to finish the Cygwin installation.\\ 
  
-===== 2.Acquiring the code ===== +======How to Compile and Install CP2K on Windows with Cygwin====== 
-Visit [[http://sourceforge.net/projects/cp2k/files/|sourceforge CP2K project page]] and download any of ''cp2k-2.x.x.tar.bz2''.\\ + 
-Some archivers generate ''PaxHeaders.xxxx'' directories in ''cp2k-2.x.x'' directory when unpacking. Files in these directories may prevent CP2K compilation with Cygwin, it is recommended to unpack tar.bz2 by using the following command from within a Cygwin terminal:\\+I believe there are several ways to build CP2K binaries for WindowsHere I describe how to install Cygwin on Windows 10/11, build CP2K with openmpi on the Cygwin, and run it on a PC without Cygwin.\\ 
 + 
 + 
 +=====1 Install Cygwin===== 
 + 
 +[[https://www.cygwin.com|Cygwin]] is a large collection of GNU and Open Source tools which provides functionality similar to a Linux distribution on Windows, which has been used for a long time.\\ 
 + 
 +You can install Cygwin on your 64 bit Windows by using [[https://www.cygwin.com/setup-x86_64.exe|setup-x86_64.exe]] 
 +and build cp2k on the Cygwin-Windows system.\\ 
 + 
 +When installing Cygwin, make sure that you will install the following additional packages:\\ 
 <code> <code>
-tar -xvf cp2k-2.x.x.tar.bz2+Archive 
 +  hdf5 
 +  libhdf5-devel 
 +Devel 
 +  bison 
 +  byacc 
 +  cmake 
 +  gcc-fortran 
 +  gcc-g++ 
 +  make 
 +GNOME 
 +  libglade 
 +Libs 
 +  fftw3 
 +  lapack 
 +  libevent-devel 
 +  libxerces-c31 
 +  libxerces-c-devel 
 +  libfftw3-devel 
 +  libfftw3-omp3 
 +  libfftw3_3 
 +  libgsl-devel 
 +  libgsl0 
 +  libgsl19 
 +  liblapack-devel 
 +  liblapack0 
 +  libopenmpi-devel 
 +  libopenmpi12 
 +  libopenmpi40 
 +  libopenmpicxxl 
 +  libopenmpifh40 
 +  libopenmpiusef08_40 
 +  libopenmpiusetkr40 
 +  openmpi 
 +  zlib 
 +  zlib-devel 
 +Python 
 +Math 
 +  libopenblas 
 +Science 
 +  gsl 
 +Utils 
 +  hdf5 
 +  libhdf5-devel 
 +  libhwloc-devel
 </code> </code>
  
-===== 3.Compilation with Cygwin ===== +Follow the wizard instruction to finish the Cygwin (and packages) installation.\\
-An example CP2K ARCH file for a serial build of CP2K on Cygwin is as follows:\\ +
-<file> +
-CC       = cc +
-CPP      = +
  
-FC       gfortran +=====2 Acquire the Code=====
-LD       gfortran+
  
 +Download a [[https://github.com/cp2k/cp2k/releases/|release]]
 +(use the versioned tarballs, `cp2k-X.Y.tar.bz2`) and extract a tarball on the Cygwin64 bash terminal as follows:\\
 +
 +<code>
 +$ tar -xvf cp2k-X.Y.tar.bz2
 +</code>
 +
 +For more details on downloading CP2K, see [[https://www.cp2k.org/download]].\\
 +
 +=====3 Build Prerequisites=====
 +
 +Source codes of most prerequisities are available not only on individual supplyers but also on [[https://www.cp2k.org/static/downloads/]].\\
 +
 +
 +====3a scalapack(optional)====
 +
 +Download and extract [[https://www.cp2k.org/static/downloads/scalapack-2.1.0.tgz|"scalapack-2.1.0.tgz"]].\\
 +
 +Rename "SLmake.inc.example" to "SLmake.inc" in the generated "scalapack-2.1.0" directory.\\
 +
 +Edit the "SLmake.inc" as follows:\\
 +<code>
 +#FCFLAGS       = -O3
 +FCFLAGS       = -O3 -w -fallow-argument-mismatch
 +</code>
 +
 +Edit "BLACS/TESTING/Makefile" as follows:\\
 +<code>
 +#blacstest.o : blacstest.f
 +# $(FC) $(NOOPT) -c $*.f
 +blacstest.o : blacstest.f
 + $(FC) -c $(FCFLAGS) $*.f
 +</code>
 +
 +Change the current directory to "scalapack-2.1.0" on the Cygwin 64 terminal  and execute "make".\\
 +
 +After the "make" is completed, copy the generated "libscalapack.a" to "/usr/local/lib" because "make install" does not work.\\
 +
 +====3b LIBINT (optional)====
 +Download a CP2K-configured LIBINT library from [[https://github.com/cp2k/libint-cp2k|libint-cp2k]]
 +and extract the archive (e.g."libint-v2.6.0-cp2k-lmax-7.tgz") by using the similar way as the cp2k tarball case or something like [[https://www.7-zip.org|7-zip]].\\
 +
 +Change the current directory to the generated libint directory and execute the following commands on Cygwin 64 bash terminal:\\
 +
 +<code>
 +$ cd libint-v2.6.0-cp2k-lmax-7
 +$ ./configure --enable-fortran=yes --with-cxx=gcc
 +$ make
 +</code>
 +
 +If you find a static library file "libint2.a" in "libint-v2.6.0-cp2k-lmax-7/lib/.libs" directory, the "make" is successful.\\
 +
 +And then change the current directory to "fortran" and execute "make". \\
 +
 +<code>
 +$ cd fortran
 +$ make
 +</code>
 +
 +However this may result in:
 +<code>
 + "Error: missing '(' before "__has_include" operand" 
 +</code>
 +and so on, the "make" is successful if "libint_f.mod" is found in the "fortran" directory.\\
 +
 +Copy a generated file "libint-v2.6.0-cp2k-lmax-7/lib/.libs/linint2.a" and a "libint-v2.6.0-cp2k-lmax-7/include/libint2" directory manually into "(cygwin-root)/usr/local/lib" and "(cygwin-root)/usr/local/include" directories respectively.\\
 +("Make install" does not seem to work.)\\
 +
 +In the arch file of CP2K: add <code>-D__LIBINT</code> to the DFLAGS. Add <code>-L/usr/local/lib -lint2 -lstdc++</code> to LIBS and <code>-I/usr/local/include</code> to FCFLAGS. lstdc++ is needed because of using the GNU C++ compiler.\\
 +
 +====3c LIBXC (optional)====
 +The version 5.1.0 (or later) of LIBXC can be downloaded from [[https://www.tddft.org/programs/libxc]].\\
 +Download and extract "libxc-5.1.0.tar.gz" by using the similar way as cp2k tarball case or something like [[https://www.7-zip.org|7-zip]].\\
 +
 +Change the current directory to the "libxc-5.1.0" directory and execute the following commands on the Cygwin 64 bash terminal:\\
 +
 +<code>
 +$ cd libxc-5.1.0
 +$ export F77=gfortran
 +$ ./configure --prefix=/usr/local
 +$ make
 +$ make install
 +</code>
 +
 +Libxc will be installed into /usr/local/ in this case.\\
 +
 +In the arch file of CP2K: add <code>-D__LIBXC</code> to DFLAGS, <code>-I/usr/local/include</code> to FCFLAGS and <code>-L$/usr/local/lib -lxcf03 -lxc</code> to LIBS.
 +
 +====3d libxsmm(optional)=====
 +
 +A library for matrix operations and deep learning primitives: [[https://github.com/hfp/libxsmm/]]\\
 +
 +Download and extract [[https://github.com/libxsmm/libxsmm/archive/refs/tags/1.16.1.tar.gz|"libxsmm-1.16.1.tar.gz"]].\\
 +
 +Change the current directory to the "libxsmm-1.16.1" and execute the following commands on the Cygwin 64 terminal:\\
 +
 +<code>
 +$ make
 +$ make PREFIX=/usr/local install
 +</code>
 +
 +In the arch file of CP2K: add <code>-D__LIBXSMM</code> to enable it, with include and library paths, i.e., <code>FCFLAGS += -I/usr/local/include -D__LIBXSMM</code> and <code>LIBS += -L/usr/local/lib -lxsmmf -lxsmm -ldl</code>S\\
 +
 +====3e PEXSI (optional)====
 +
 +PEXSI requires parmetis, scotch, CombBLAS_bata, upcxx, symPACK and superLU_dist.\\
 +
 +===3e1 parmetis===
 +
 +Download and extract [[http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz|"parmetis-4.0.3.tar.gz"]].\\
 +
 +Cygwin does'nt have execinfo, edit "metis/GKlib/error.c" and invalidate (comment out) the "#ifdef HAVE_EXECINFO_H to #endif" section such as:\\
 +
 +<code>
 +/*************************************************************************
 +* This function prints a backtrace of calling functions
 +**************************************************************************/
 +void PrintBackTrace()
 +{
 +#ifdef HAVE_EXECINFO_H
 +/*
 +  void *array[10];
 +  int i, size;
 +  char **strings;
 +
 +  size = backtrace(array, 10);
 +  strings = backtrace_symbols(array, size);
 +  
 +  printf("Obtained %d stack frames.\n", size);
 +  for (i=0; i<size; i++) {
 +    printf("%s\n", strings[i]);
 +  }
 +  free(strings);
 +*/
 +#endif
 +}
 +</code>
 +
 +And then execute the following commands on the Cygwin terminal:
 +
 +<code>
 +$ make config
 +</code>
 +
 +If you find "ld: cannot find -lmpi_cxx" error during "make config (cmake)", dupulicate "cygwin/lib/libmpi.dll.a" by using cp(copy) command and rename a half of it to "libmpi_cxx.a".\\
 +
 +After "make config", execute the following commands:
 +
 +<code>
 +$ make
 +$ make install
 +</code>
 +
 +Parmetis will be installed into /usr/local/ by default.\\
 +If you have an error during the "make", delete the all contents in "build" directory and try to rebuild.\\
 +
 +===3e2 scotch===
 +
 +Download and extract [[https://www.cp2k.org/static/downloads/scotch_6.0.0.tar.gz|"scotch_6.0.0.tar.gz"]].\\
 +(It looks like [[https://gitlab.inria.fr/scotch/scotch/-/releases|the original supplyer]] no longer supports v6.0.0.) \\
 +
 +Copy "src/Make.inc/Makefile.inc.i686_pc_linux2" into "src" and rename it as "Makefile.inc".\\
 +
 +Add "-DINTSIZE64 -DIDXSIZE64 -DOMPI_BUILDING" to CFLAGS on the "Makefile.inc".\\
 +
 +<code>
 +CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DINTSIZE64 -DIDXSIZE64 -DOMPI_BUILDING
 +</code>
 +
 +And then execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd scotch_6.0.0/src
 +$ make ptscotch
 +$ make install
 +</code>
 +
 +===3e3  CombBLAS_bata===
 +
 +Download and extract [[https://eecs.berkeley.edu/~aydin/CombBLAS_FILES/CombBLAS_beta_16_2.tgz|CombBLAS_beta_16_2.tgz]].\\
 +
 +Edit "CombBLAS_beta_16_2/CMakeLists.txt" and add a linker flag "-lmpi".\\
 +
 +<code>
 +ADD_SUBDIRECTORY( usort )
 +target_link_libraries(CombBLAS PUBLIC Usortlib)
 +
 +ADD_SUBDIRECTORY( graph500-1.2/generator )
 +target_link_libraries(CombBLAS PUBLIC GraphGenlib)
 +
 +# add new
 +SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -lmpi")
 +#end add new
 +
 +# Set up exported configuration
 +# This allows CombBLAS to be installed in two ways:
 +#   1. In /usr/local (or whatever prefix is specified)
 +#   2. Exporting the current build directory. This allows a user to make
 +#      modifications to CombBLAS and have the changes automatically recompiled for
 +#      dependent projects.
 +# Either way, we need to create a CombBLASConfig.cmake
 +</code>
 +
 +And then execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd CombBLAS_beta_16_2
 +$ mkdir build
 +$ mkdir install
 +$ cd build
 +$ cmake .. -DCMAKE_INSTALL_PREFIX=../install
 +$ make
 +$ make install
 +</code>
 +
 +===3e4 upcxx===
 +
 +Download and extract [[https://bitbucket.org/berkeleylab/upcxx/downloads/upcxx-2019.9.0.tar.gz|"upcxx-2019.9.0.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$  ./install /usr/local/upcxx
 +</code>
 +
 +The successful installation will display "UPC++ successfully installed" at the end.\\
 +
 +===3e5 symPACK===
 +
 +Download and extract [[https://github.com/symPACK/symPACK/archive/refs/tags/v2.0.1.tar.gz|"symPACK-2.0.1.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd symPACK-2.0.1
 +$ mkdir build
 +$ cd build
 +$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_PREFIX_PATH=/usr/local/upcxx
 +</code>
 +
 +===3e6 superLU_dist===
 +
 +Download and extract [[https://github.com/xiaoyeli/superlu_dist/archive/refs/tags/v6.1.0.tar.gz|"superlu_dist_6.1.0.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd SuperLU_DIST_6.1.0
 +$ export PARMETIS_ROOT=/usr/local
 +$ export PARMETIS_BUILD_DIR=${HOME}/parmetis-4.0.3/build/CYGWIN_NT-10.0-x86_64
 +$ export COMBBLAS_ROOT=/usr/local/combblas
 +$ export COMBBLAS_BUILD_DIR=${HOME}/CombBLAS_beta_16_2/build
 +$ mkdir build
 +$ cd build
 +$ cmake .. \
 +    -DTPL_PARMETIS_INCLUDE_DIRS="/usr/local/include;${HOME}/parmetis-4.0.3/metis/include" \
 +    -DTPL_PARMETIS_LIBRARIES="/usr/local/lib/libparmetis.a;/usr/local/lib/libmetis.a" \
 +    -DCMAKE_INSTALL_PREFIX=/usr/local
 +</code>
 +
 +Edit the following generated files after cmake and add the "-lmpi" flag at the end of the line.\\
 +
 +  *build/TEST/CMakeFiles/pdtest.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pddrive.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pddrive1.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pddrive2.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pddrive3.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pddrive4.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pzdrive.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pzdrive1.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pzdrive2.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pzdrive3.dir/link.txt
 +  *build/EXAMPLE/CMakeFiles/pzdrive4.dir/link.txt\\
 +
 +For example:\\
 +<code>
 +/usr/bin/c++.exe -fopenmp -fexceptions -std=c++11   -Wl,--enable-auto-import  -fopenmp CMakeFiles/pddrive.dir/pddrive.c.o CMakeFiles/pddrive.dir/dcreate_matrix.c.o  -o pddrive.exe -Wl,--out-implib,libpddrive.dll.a -Wl,--major-image-version,0,--minor-image-version, ../SRC/libsuperlu_dist.a -lblas -lm -lmpi -lopen-rte -lopen-pal -Wl,-Bstatic -lm -Wl,-Bdynamic /usr/lib/w32api/libgdi32.a -llapack -lblas /usr/local/lib/libparmetis.a /usr/local/lib/libmetis.a -lm -lmpi
 +</code>
 +
 +Execute the following commands on the Cygwin terminal:\\
 +<code>
 +$ make
 +$ make install
 +</code>
 +
 +SuperLU_DIST will be installed into /usr/local/ by default.\\
 +
 +
 +===3e7 PEXSI===
 +
 +Download and extract [[https://bitbucket.org/berkeleylab/pexsi/downloads/pexsi_v1.2.0.tar.gz|"pexsi_v1.2.0.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd pexsi_v1.2.0
 +$ mkdir build
 +</code>
 +
 +Copy config/build.sh.linux.gnu into "build" directory and rename it as "build.sh".\\
 +
 +<code>
 +$ cp config/build.sh.linux.gnu ./build
 +$ mv build/build.sh.linux.gnu build/build.sh
 +</code>
 +
 +Edit the content of "build/build.sh" and replace the content with:\\
 +
 +<code>
 +CC=mpicc
 +CXX=mpicxx
 +FC=mpif90
 +PEXSI_INSTALL_DIR=/usr/local/pexsi
 +BLAS_LIB=/lib/libblas.dll.a
 +LAPACK_LIB=/lib/liblapack.dll.a
 +DSUPERLU_DIR=/usr/local
 +PARMETIS_DIR=/usr/local
 +METIS_DIR=/usr/local
 +GFORTRAN_LIB=/lib/gcc/x86_64-pc-cygwin/10/libgfortran.dll.a
 +
 +cmake \
 +  -DCMAKE_INSTALL_PREFIX=$PEXSI_INSTALL_DIR \
 +  -DCMAKE_C_COMPILER=$CC \
 +  -DCMAKE_CXX_COMPILER=$CXX \
 +  -DCMAKE_CXX_FLAGS=-DOMPI_BUILDING \
 +  -DCMAKE_Fortran_COMPILER=$FC \
 +  -Dlinalg_BLAS_LIBRARIES="$BLAS_LIB;-fopenmp;-lm;$GFORTRAN_LIB;-lblas;-lquadmath" \
 +  -Dlinalg_LAPACK_LIBRARIES="$LAPACK_LIB;-lblas;-lquadmath" \
 +  -Dsuperlu_dist_INCLUDE_DIR=$DSUPERLU_DIR/include \
 +  -Dsuperlu_dist_LIBRARIES=$DSUPERLU_DIR/lib/libsuperlu_dist.a \
 +  -Dmetis_INCLUDE_DIR=$METIS_DIR/include \
 +  -Dmetis_LIBRARIES=$METIS_DIR/lib/libmetis.a \
 +  -Dparmetis_INCLUDE_DIR=$PARMETIS_DIR/include \
 +  -Dparmetis_LIBRARIES=$PARMETIS_DIR/lib/libparmetis.a \
 +  ..
 +
 +</code>
 +
 +Execute the following commands:\\
 +<code>
 +$ ./build.sh
 +$ make
 +$ make install
 +</code>
 +
 +The "make install" will install pexsi into the specified directory "usr/local/pexsi".\\
 +
 +In the arch file of CP2K: Add <code>-D__LIBPEXSI</code> to DFLAGS. Add <code>-I$(PEXSI_DIR)/fortran/ (e.g.-I/(username)/pexsi_v1.2.0/fortran) </code>to FCFLAGS. 
 +Add <code>-lpexsi -llapack -lblas -lsuperlu_dist -lparmetis -lmetis</code>, and their paths with <code>-L/usr/local/pexsi/lib</code> to LIBS.\\
 +
 +====3f QUIP (optional)===
 +
 +Download "[[https://www.cp2k.org/static/downloads/QUIP-b4336484fb65b0e73211a8f920ae4361c7c353fd.tar.gz|QUIP-b4336484fb65b0e73211a8f920ae4361c7c353fd.tar.gz]]" and extract it.
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd QUIP-b4336484fb65b0e73211a8f920ae4361c7c353fd
 +$ export QUIP_ARCH=linux_x86_64_gfortran
 +$ make config
 +</code>
 +
 +In the following "make config" example, the defaults are accepted except the python and pip location on the cygwin and cp2k support choice for quip.\\
 +
 +<code>
 +Using QUIP_ARCH=linux_x86_64_gfortran, MODULES=libAtoms Potentials Utils, QUIP_ROOT=/home/gan_t/QUIP-b4336484fb65b0e73211a8f920ae4361c7c353fd
 +
 +In the following, hit enter to accept the defaults.
 +
 +
 +BUILD OPTIONS
 +=============
 +
 +
 +Please enter the linking options for LAPACK and BLAS libraries:
 +   Default: -llapack -lblas
 +
 +
 +Please enter the preferred python command:
 +   Default: /usr/bin/python
 +/bin/pyton2.7
 +
 +Please enter the preferred pip command:
 +   Default:
 +/bin/pip2.7
 +
 +Please enter any other extra linking options:
 +   Default: none
 +
 +
 +OPTIONAL INTERNAL FEATURES
 +==========================
 +
 +
 +Would you like to compile with CP2K support? [y/n]
 +   Default: n
 +y
 +
 +Would you like to compile with VASP support? [y/n]
 +   Default: n
 +
 +
 +Would you like to compile with Tight Binding (TB) support? [y/n]
 +   Default: n
 +
 +
 +Would you like to compile with preconditioned minimisation support? (not working with Intel compiler) [y/n]
 +   Default: y
 +
 +
 +Would you like to compile with Learn-on-the-fly (LOTF) support? [y/n]
 +   Default: n
 +
 +
 +Would you like to compile with ONIOM support? [y/n]
 +   Default: n
 +
 +
 +Would you like to compile with LOCAL_E_MIX support? [y/n]
 +   Default: n
 +
 +
 +Would you like to compile with QuasiContinuum wrapper support? [y/n]
 +   Default: n
 +
 +
 +OPTIONAL FEATURES (EXTRA CODE REQUIRED)
 +=======================================
 +
 +
 +Would you like to compile with GAP support ? [y/n]
 +   Default: n
 +
 +
 +
 +Please enter directories where the Turbo-GAP main directory is:
 +   Default: no Turbo-GAP present
 +
 +
 +
 +Would you like to turn on QR decomposition for some GAP operations? [y/n]
 +   Default: y
 +
 +Checking for ThirdParty directory...
 +   Not found.
 +
 +Would you like to compile with TTM3-F support? [y/n]
 +   Default: n
 +
 +Would you like to compile with SCME support ? [y/n]
 +   Default: n
 +
 +Would you like to compile with MTP support ? [y/n]
 +   Default: n
 +
 +Would you like to compile with many-body dispersion support ? [y/n]
 +   Default: n
 +
 +Would you like to compile with TTM_NF support ? [y/n]
 +   Default: n
 +
 +Would you like to compile with CH4 support ? [y/n]
 +   Default: n
 +
 +
 +OPTIONAL EXTERNAL LIBRARIES
 +===========================
 +
 +Would you like to compile with NetCDF4 support? [y/n]
 +   Default: n
 +
 +
 +Please enter directories where MDCORE libraries are kept:
 +   Default: no MDCORE present
 +
 +
 +Please enter directory where the ASAP library is kept:
 +   Default: no ASAP library present
 +
 +
 +Please enter directories where CGAL libraries are kept:
 +   Default: no CGAL present
 +
 +
 +Please enter directories where METIS libraries are kept:
 +   Default: no METIS present
 +
 +
 +Please enter directories where LMTO_TBE libraries are kept:
 +   Default: no LMTO_TBE present
 +
 +
 +</code>
 +
 +After "make config", execute the following commands on the Cygwin terminal:\\
 +<code>
 +$ make
 +$ export QUIP_INSTALLDIR=/usr/local
 +$ make install
 +$ make libquip
 +</code>
 +
 +If you find "libquip.a" in build/linux_x86_64_gfortran directory, the make was completed successfully.\\
 +Copy "build/linux_x86_64_gfortran/libquip.a" into "usr/local/lib" manually and finish the installation.\\
 +
 +In the arch file of CP2K: Add <code>-D__QUIP</code> to DFLAGS. Add <code>-lquip</code> to LIBS. Add <code>-Wl,--stack,4194304</code> to FCFLAGS, to avoid a "Exception: STATUS_STACK_OVERFLOW" error.\\
 +
 +====3g spfft(optional)====
 +
 +Download and extract [[https://github.com/eth-cscs/SpFFT/archive/refs/tags/v1.0.5.tar.gz|"SpFFT-1.0.5.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd spFFT-1.0.5
 +$ mkdir build
 +$ cd build
 +$ cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DSPFFT_FORTRAN=ON -DSPFFT_OMP=ON -DSPFFT_MPI=ON -DSPFFT_SINGLE_PRECISION=OFF -DCMAKE_INSTALL_PREFIX=/usr/local
 +$ make
 +$ make install
 +</code>
 +
 +====3h spla(optional)====
 +
 +Download and extract [[https://github.com/eth-cscs/spla/archive/refs/tags/v1.5.2.tar.gz|"spla-1.5.2.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd spla-1.5.2
 +$ mkdir build
 +$ cd build
 +$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
 +$ make
 +$ make install
 +</code>
 +
 +====3i SIRIUS (optional)====
 +
 +SIRIUS-7.3.0 requires spglib-1.0.2 or later and gsl 2.7 or later.\\
 +
 +===3i1 spglib===
 +
 +Download and extract [[https://www.cp2k.org/static/downloads/spglib-1.16.0.tar.gz|"spglib-1.16.1.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd spglib-1.16.2
 +$ mkdir build
 +$ cd build
 +$ cmake ..
 +$ make
 +$ make install
 +</code>
 +
 +The "make install" will install spglib into /usr/local by default.\\
 +
 +In the arch file of CP2K: Add <code>-D__SPGLIB</code> to DFLAGS.
 +
 +===3i2 gsl 2.7===
 +
 +If you have the following gsl-related error during building sirius (i.e. "make" sirius), gsl has not been installed on cygwin or the installed gsl is too old for the sirius.\\
 +
 +<code>
 +sirius-7.3.0/src/specfunc/specfunc.hpp:31:10: fatal error: gsl/gsl_sf_hermite.h: No such file or directory
 +   31 | #include <gsl/gsl_sf_hermite.h>
 +      |          ^~~~~~~~~~~~~~~~~~~~~~
 +compilation terminated.
 +</code>
 +
 +Gsl 2.7 or later is required in this case. If Cygwin setup.exe does't supply the latest binary, you had better build the gsl from the source.\\
 +
 +Download and extract [[https://mirror.ibcp.fr/pub/gnu/gsl/gsl-2.7.tar.gz|"gsl-2.7.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd gsl-2.7
 +$ ./configure
 +$ make
 +$ make install
 +</code>
 +
 +The "make install" will install gsl into usr/local by default.
 +
 +===3i3 SIRIUS===
 +
 +Download and extract [[https://github.com/electronic-structure/SIRIUS/archive/refs/tags/v7.3.0.tar.gz|"SIRIUS-7.3.0.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd sirius-7.3.0
 +$ mkdir build
 +$ cd build
 +$ export CXX=mpicxx CC=mpicc FC=mpif90
 +$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/sirius
 +$ make
 +$ make install
 +</code>
 +
 +If you have a link error "ld: smearing.cpp: undefined reference to `gsl_sf_hermite'" during the "make",
 +the error is caused by your own built gsl which installed into "usr/local" instead of Cygwin root.
 +Edit "build/src/CMakeFiles/sirius.dir/link.txt" and add the string "/usr/local/lib/libgsl.dll.a" as following:\\
 +
 +<code>
 +/usr/bin/mpicxx  -Wall -O3 -DNDEBUG -shared -Wl,--enable-auto-import -o cygsirius.dll -Wl,--out-implib,libsirius.dll.a -Wl,--major-image-version,0,--minor-image-version,0 CMakeFiles/sirius.dir/hamiltonian/hamiltonian.cpp.o 
 +...
 +CMakeFiles/sirius.dir/context/simulation_context.cpp.o CMakeFiles/sirius.dir/context/simulation_parameters.cpp.o CMakeFiles/sirius.dir/api/sirius_api.cpp.o CMakeFiles/sirius.dir/api/sirius.f90.o  /usr/local/lib/libspfft.dll.a /usr/local/lib/libspla.dll.a /usr/local/lib/libgsl.dll.a /usr/lib/libgsl.dll.a /usr/local/lib/libopenblas.dll.a -lm -ldl /usr/local/lib/libxc.a /usr/local/lib/libsymspg.dll.a /usr/lib/libhdf5.dll.a /usr/lib/gcc/x86_64-pc-cygwin/11/libgomp.dll.a -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lgfortran -lquadmath -lm 
 +</code>
 +
 +
 +Edit the cp2k code, "src/sirius_interface.f" and set the arguments of the subroutine sirius_initialize to "TRUE".\\
 +
 +<code>
 +   SUBROUTINE cp_sirius_init()
 +! brhr editted
 +!      CALL sirius_initialize(.FALSE.)
 +     CALL sirius_initialize(.TRUE.)
 +! end brhr editted
 +   END SUBROUTINE cp_sirius_init
 +</code>
 +
 +In the arch file of CP2K: Add <code>-D__SIRIUS</code> to DFLAGS.\\
 +
 +====3j Libvori (optional)====
 +
 +Download and extract [[https://brehm-research.de/files/libvori-220621.tar.gz|"libvori-220621.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd libvori-220621
 +$ mkdir build
 +$ cd build
 +$ cmake -DCMAKE_CXX_COMPILER=g++ ..
 +$ make
 +$ make install
 +</code>
 +
 +The "make install" will install libvori into usr/local by default.
 +
 +In the arch file of CP2K: Add <code>-D__LIBVORI</code> to DFLAGS.
 +
 +====3k libvdwxc (optional)====
 +
 +Download and extract [[https://www.cp2k.org/static/downloads/libvdwxc-0.4.0.tar.gz|"libvdwxc-0.4.0.tar.gz"]].
 +
 +Execute the following commands on the Cygwin terminal:\\
 +
 +<code>
 +$ cd libvdwxc-0.4.0
 +$ ./configure
 +$ make
 +$ make install
 +</code>
 +
 +The "make install" will install libvdwxc into usr/local by default.\\
 +
 +In the arch file of CP2K: Add <code>-D__LIBVDWXC</code> to DFLAGS.\\
 +
 +=====4 Compile CP2K with Cygwin=====
 +
 +Prepare a arch file. The following is an example with all options. \\
 +
 +<file>
 +# Put this file on cp2k-2022.1/arch and execute the following command on the cp2k-2022.1 root directory
 +# make ARCH=Cygwin-x86_64-gfortran VERSION=ssmp
 +# if you wish to clean, do either make ARCH=Cygwin-x86_64-gfortran VERSION=ssmp clean
 +# or make ARCH=Cygwin-x86_64-gfortran VERSION=ssmp distclean
 +
 +CC       = gcc
 +FC       = mpif90
 +LD       = mpif90
 AR       = ar -r AR       = ar -r
 +
 +CFLAGS = -g -O2 -fopenmp  -fopenmp-simd -funroll-loops -ftree-vectorize -march=native -mtune=native 
  
 CPPFLAGS =  CPPFLAGS = 
-DFLAGS   = -D__GFORTRAN -D__FFTSG + 
-FCFLAGS  = --O2 -ffast-math -funroll-loops -ftree-vectorize -march=native -ffree-form $(DFLAGS)  +DFLAGS   = -D__GFORTRAN -D__FFTW3 -D__LIBINT -D__LIBXC -D__SPGLIB -D__SIRIUS -D__LIBVDWXC 
-LDFLAGS  = $(FCFLAGS)  +DFLAGS +=  -D__LIBXSMM  -D__LIBPEXSI -D__QUIP -D__LIBVORI 
-LIBS     = -llapack -lblas+ 
 +FCFLAGS  = -ffree-form -ffree-line-length-none -fno-omit-frame-pointer 
 +FCFLAGS += -fbacktrace -std=f2008 -Wl,--stack,4194304 
 +FCFLAGS += -I/usr/include -I/usr/local/include -I/home/(usename)/libint-v2.6.0-cp2k-lmax-7/include -I/usr/local/sirius/include  
 +FCFLAGS += -I/home/(usename)/pexsi_v1.2.0/fortran  $(CFLAGS) $(DFLAGS) 
 + 
 +LDFLAGS  = $(FCFLAGS) -static 
 + 
 + 
 +LIBS     -lpexsi -llapack -lblas -lint2 -lxc -lxcf03 -lvori -lquip -ldl -ldbghelp -lvdwxc -lstdc++ 
 +LIBS   +=  -lgsl -lz -ldl -lm -lsuperlu_dist -lparmetis -lmetis -fopenmp -fopenmp-simd 
 +LIBS   +=  -L/usr/local/lib  -L/usr/local/pexsi/lib 
 +LIBS   +=  /usr/lib/gcc/x86_64-pc-cygwin/11/libstdc++.a  /usr/local/lib/DbgHelp.Lib 
 +LIBS   +=  /usr/lib/libgsl.dll.a /usr/lib/libmpi.dll.a /usr/local/lib/libxc.a /usr/local/lib/libxcf03.a /usr/local/lib/libxcf90.a 
 +LIBS   +=  /usr/local/lib/libsymspg.dll.a /usr/lib/libhdf5.dll.a /usr/lib/libhdf5_hl.dll.a /usr/lib/libhdf5.dll.a /usr/lib/liblapack.dll.a 
 +LIBS   +=  /usr/lib/libblas.dll.a /usr/lib/libfftw3.dll.a /usr/lib/libfftw3_omp.dll.a /usr/local/lib/libopenblas.a 
 +LIBS   +=  /usr/local/lib/libint2.a /usr/local/lib/libsymspg.a /usr/local/lib/libsymspg.dll.a /usr/local/sirius/lib/libsirius.dll.a 
 +LIBS   +=  /usr/lib/libfftw3_threads.dll.a /usr/local/lib/libxsmmf.lib /usr/local/lib/libxsmm.lib -llapack -lblas -ldbghelp 
 +LIBS   +=  /usr/lib/gcc/x86_64-pc-cygwin/11/libgomp.dll.a
  
 OBJECTS_ARCHITECTURE = machine_gfortran.o OBJECTS_ARCHITECTURE = machine_gfortran.o
 </file> </file>
-Remove the -D__GFORTRAN flag if you compile CP2K 2.6.0. Save it as ''Cygwin-i686-gfortran.sopt'' in the ''cp2k-2.x.x/arch'' directory alongside the other ARCH files.\\ + 
-Launch the Cygwin Terminal (Cygwin bash) and change the working directory to ''cp2k-2.x.x/makefiles''Type make command as follows:\\+Save the arch file in the ARCH directory with the name e.g"Cygwin-x86_64-gfortran.ssmp"\\ 
 + 
 +Prepare three nested empty destination directories ("obj/Cygwin-x86_64-gfortran/ssmp/" for the example) in the cp2k root before starting build.\\ 
 + 
 +Put some required FORTRAN modules in the inner-most ssmp directory in advance.\\ 
 + 
 +These are:\\ 
 + 
 +  *libint-v2.6.0-cp2k-lmax-7/fortran/libint_f.mod 
 +  *libxc-5.1.0/src/xc_f03_lib_m.mod 
 +  *libxc-5.1.0/src/xc_f90_lib_m.mod 
 +  *sirius-7.3.0/build/src/mod_files/sirius.mod 
 +  *pexsi_v1.2.0/build/include/f_ppexsi_interface.mod 
 +  *QUIP-b4336484fb65b0e73211a8f920ae4361c7c353fd/build/linux_x86_64_gfortran/quip_unified_wrapper_module.mod\\ 
 + 
 +Execute the "make" commands on the root directory of cp2k on the Cygwin terminal:\\
 <code> <code>
-make ARCH=Cygwin-i686-gfortran VERSION=sopt+make ARCH=Cygwin-x86_64-gfortran VERSION=ssmp
 </code> </code>
-It may take 1 or 2 hours until a compilation is completed.  If you have a multi-core machine you may use e.g. ''make -j 4'' to compile in parallel with 4 tasks.\\  
-If you find ''cp2k.sopt'' in ''cp2k-2.x.x/exe'' directory, then compilation is successfully done. 
  
-===== 4.Installation CP2K on Windows PC which not installed Cygwin ===== +When the "make" successfully completed, cp2k.ssmp and other binaries have been generated in "(cp2k-root)/exe/Cygwin-x86_64-gfortran/ssmp/"
-By using either cygcheck command (cygcheck /home/user/(cp2k directory)/exe/(ARCH directory)/cp2k.sopt) or an executable parser such as  [[http://www.dependencywalker.com|Dependency Walker (depends.exe)]], you can find DLLs that the built cp2k.sopt depends on.\\ + 
-The following six DLLs may be required to run the cp2k.sopt without Cygwin installation, but it may differ on your system.(Windows system modules are unnecessary here)\\ +=====5 Install CP2K on Windows PC which are not installed Cygwin===== 
-  *cygwin\lib\lapack\cygblas-0.dll + 
-  *cygwin\bin\cygwin1.dll +====5a The file placement==== 
-  *cygwin\bin\cyggfortran-3.dll +Prepare a empty directory named "cp2k-(version string or a unique string to descriminate your build)" on which you wish to install the cp2k executable binaries. \\ 
-  *cygwin\bin\cygquadmath-0.dll + 
-  *cygwin\bin\cyggcc_s-1.dll +Prepare five empty directories, "bin", "dev", "home", "lib" and "share" in the cp2k directory.\\ 
-  *cygwin\lib\lapack\cyglapack-0.dll + 
-Copy these DLLs (except Windows system DLLs) to the same directory as ''cp2k.sopt''.\\ +Copy cp2k binaries which were generated in "(cp2k-root)/exe/Cygwin-x86_64-gfortran/ssmp/" into the "bin" directory.\\ 
-Pressing SHIFT key right-click ''cp2k.sopt'' directory icon and select “Open Command Window Here” menu.\\ +Copy other DLLs in "(cygwin-root)/bin","(cygwin-root)/usr/local/bin", "(cygwin-root)/usr/local/lib" or your build directory, on which cp2k binaries depend, into the "bin" directory.\\ 
-And you type on the command prompt: + 
-<code> > cp2k.sopt --version</code> +The dependent DLLs will vary depending on which libraries you use.  
-Then you might see:+You can parse the dependencies by using either cygcheck command or an executable parser such as  [[http://www.dependencywalker.com|Dependency Walker (depends.exe)]].\\ 
 + 
 +The following is an example of dependent DLLs with all options:\\
 <code> <code>
-CP2K version 2.X +(cygwin-root)/bin/cygaec-0.dll 
-SVN source code revision svn:XXXXX+(cygwin-root)/lib/lapack/cygblas-0.dll 
 +(cygwin-root)/bin/cygevent-2-1-7.dll 
 +(cygwin-root)/bin/cygevent_core-2-1-7.dll 
 +(cygwin-root)/bin/cygevent_extra-2-1-7.dll 
 +(cygwin-root)/bin/cygevent_openssl-2-1-7.dll 
 +(cygwin-root)/bin/cygevent_pthreads-2-1-7.dll 
 +(cygwin-root)/bin/cygfftw3-3.dll 
 +(cygwin-root)/bin/cygfftw3f-3.dll 
 +(cygwin-root)/bin/cygfftw3f_omp-3.dll 
 +(cygwin-root)/bin/cygfftw3f_threads-3.dll 
 +(cygwin-root)/bin/cygfftw3l-3.dll 
 +(cygwin-root)/bin/cygfftw3l_omp-3.dll 
 +(cygwin-root)/bin/cygfftw3l_threads-3.dll 
 +(cygwin-root)/bin/cygfftw3_omp-3.dll 
 +(cygwin-root)/bin/cygfftw3_threads-3.dll 
 +(cygwin-root)/bin/cyggcc_s-seh-1.dll 
 +(cygwin-root)/bin/cyggfortran-4.dll 
 +(cygwin-root)/bin/cyggfortran-5.dll 
 +(cygwin-root)/bin/cyggomp-1.dll 
 +(cygwin-root)/usr/local/bin/cyggsl-25.dll 
 +(cygwin-root)/usr/local/bin/cyggslcblas-0.dll 
 +(cygwin-root)/bin/cyghdf5-200.dll 
 +(cygwin-root)/bin/cyghwloc-15.dll 
 +(cygwin-root)/bin/cygiconv-2.dll 
 +(cygwin-root)/lib/lapack/cyglapack-0.dll 
 +(cygwin-root)/bin/cyglzma-5.dll 
 +(cygwin-root)/bin/cygmpi-40.dll 
 +(cygwin-root)/bin/cygmpi_mpifh-40.dll 
 +(cygwin-root)/bin/cygopen-pal-40.dll 
 +(cygwin-root)/bin/cygopen-rte-40.dll 
 +(cygwin-root)/bin/cygOpenCL-1.dll 
 +(cygwin-root)/bin/cygquadmath-0.dll 
 +(cygwin-root)/home/(username)/SIRIUS-7.3.0/build/src/cygsirius.dll 
 +(cygwin-root)/usr/local/lib/cygspfft-1.dll 
 +(cygwin-root)/usr/local/lib/cygspla-1.dll 
 +(cygwin-root)/bin/cygstdc++-6.dll 
 +(cygwin-root)/usr/local/bin/cygsymspg-1.dll 
 +(cygwin-root)/bin/cygsz-2.dll 
 +(cygwin-root)/bin/cygwin1.dll 
 +(cygwin-root)/bin/cygxml2-2.dll 
 +(cygwin-root)/bin/cygz.dll
 </code> </code>
-Congratulations! You can now run CP2K on Windows.+ 
 +Copy also the opemmpi executables into the "bin".\\ 
 +<code> 
 +(cygwin-root)/bin/ompi_info.exe 
 +(cygwin-root)/bin/opal_wrapper.exe 
 +(cygwin-root)/bin/orte-clean.exe 
 +(cygwin-root)/bin/orte-info.exe 
 +(cygwin-root)/bin/orte-server.exe 
 +(cygwin-root)/bin/orted.exe 
 +(cygwin-root)/bin/orterun.exe 
 +</code> 
 + 
 +Prepare an empty directory named "shm" in "dev" to avoid an warnning on running sirius calculation.\\ 
 + 
 +Copy the cp2k data directory into the inside of "home" as similar manner as Cygwin directory structure when you built cp2k.\\ 
 +For example, if you built cp2k in "(cygwin-root)/home/(user-name)/cp2k-2022.1", prepare two nested directories "(user-name)/cp2k-2022.1" in the "home" directory, put the data directory in the inner-most "cp2k-2022.1" directory.\\ 
 + 
 +Prepare a empty directory named "openmpi" in the "lib" directory and 
 +copy "(cygwin-root)/lib/openmpi/cygompi_dbg_msgq.dll" into the "lib/openmpi/" directory.\\ 
 + 
 +Copy openmpi help files (the folder and the all contents of (cygwin-root)/share/openmpi) in "share" directory.\\ 
 + 
 +====5b A batch script file==== 
 +Prepare a batch script to launch the cp2k calculations in the upper directory of the "bin", "dev", "home", "lib" and "share" directories.\\ 
 + 
 +<file> 
 +@echo off 
 +set ORGPATH=%PATH% 
 +set PATH=%PATH%;%CD%\bin 
 +set OPAL_PREFIX=%CD% 
 +set PMIX_MCA_gds=hash 
 +cp2k.ssmp %* 
 +set PATH=%ORGPATH% 
 +set OPAL_PREFIX= 
 +set PMIX_MCA_gds= 
 +</file> 
 + 
 +The statement "set ORGPATH=%PATH%" stores the current "path to executables" (the "PATH" environmental variable).\\ 
 +The statement "set PATH=%PATH%;%CD%\bin" adds the path to cp2k executables to the "PATH" environment.\\ 
 +The statement "OPAL_PREFIX=%CD%" sets temporarily the openmpi directory to the current cp2k directory.\\ 
 +The statement "set PMIX_MCA_gds=hash" avoids errors for some versions of opemmpi.\\ 
 +The statement "cp2k.ssmp %*" recieve the arguments and pass them to the cp2k.ssmp.\\ 
 +The set statements after "cp2k.ssmp %*" line restore the original settings.\\ 
 + 
 +For details on openmpi environmental variables, please refer to: 
 +[[https://www.open-mpi.org/faq/?category=building#installdirs|39. Can I re-locate my Open MPI installation without re-configuring/re-compiling/re-installing from source?]]\\ 
 + 
 +Save the script as the name "startcp2k.bat".\\ 
 + 
 +====5c A quick test==== 
 +Open the folder which contains startcp2k.bat and "bin", "dev", "home", "lib" and "share" directories on Windows explorer. 
 +Enter "cmd" in the address bar and press a return key to open the command prompt.\\ 
 + 
 +On the command prompt, execute the following command:\\ 
 +<code> 
 +$ startcp2k --version 
 +</code> 
 + 
 +Then you might see:\\ 
 +<code> 
 + CP2K version 2022.1 
 + Source code revision git:2caeb6f 
 + cp2kflags: omp libint fftw3 libxc pexsi quip xsmm spglib sirius libvori libbqb 
 + compiler: GCC version 11.3.0 
 + compiler options: 
 +   -cpp -I /usr/include -I /usr/local/include -I /home/username/libint-v2. 
 +   6.0-cp2k-lmax-7/include -I /usr/local/sirius/include -I /home/username/ 
 +   pexsi_v1.2.0-openmpi-4.1.2/fortran -I /home/user/cp2k-2022.1/src/sta 
 +   rt/ -I /home/user/cp2k-2022.1/obj/Cygwin-x86_64-gfortran-pexsi/ssmp/ 
 +   exts/dbcsr -I /usr/include -I /usr/lib -idirafter /usr/lib/gcc/x86_6 
 +   4-pc-cygwin/11/../../../../lib/../include/w32api -idirafter /usr/lib 
 +   /gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/lib/../lib/../ 
 +   ../include/w32api -D __GFORTRAN -D __FFTW3 -D __LIBINT -D __LIBXC -D 
 +    __SPGLIB -D __SIRIUS -D __LIBVDWXC -D __LIBXSMM -D __LIBPEXSI -D __ 
 +   QUIP -D __LIBVORI -D __COMPILE_ARCH="Cygwin-x86_64-gfortran-pexsi"
 +   D __COMPILE_DATE="Sun Aug 14 21:16:53 JST 2022" -D __COMPILE_HOST="
 +   ESKTOP-2FK7NUA" -D __COMPILE_REVISION="git:2caeb6f" -D __DATA_DIR="/ 
 +   home/user/cp2k-2022.1/data" -D __SHORT_FILE__="start/cp2k.F" -march= 
 +   skylake -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 
 +    -mavx -mavx2 -mno-sse4a -mno-fma4 -mno-xop -mfma -mno-avx512f -mbmi 
 +    -mbmi2 -mno-aes -mpclmul -mno-avx512vl -mno-avx512bw -mno-avx512dq 
 +   -mno-avx512cd -mno-avx512er -mno-avx512pf -mno-avx512vbmi -mno-avx51 
 +   2ifma -mno-avx5124vnniw -mno-avx5124fmaps -mno-avx512vpopcntdq -mno- 
 +   avx512vbmi2 -mno-gfni -mno-vpclmulqdq -mno-avx512vnni -mno-avx512bit 
 +   alg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx -mabm - 
 +   mno-cldemote -mclflushopt -mno-clwb -mno-clzero -mcx16 -mno-enqcmd - 
 +   mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mn 
 +   o-movdir64b -mno-movdiri -mno-mwaitx -mno-pconfig -mno-pku -mno-pref 
 +   etchwt1 -mprfchw -mno-ptwrite -mno-rdpid -mrdrnd -mrdseed -mno-rtm - 
 +   mno-serialize -msgx -mno-sha -mno-shstk -mno-tbm -mno-tsxldtrk -mno- 
 +   vaes -mno-waitpkg -mno-wbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves 
 +    -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -m 
 +   no-kl -mno-widekl -mno-avxvnni --param=l1-cache-size=32 --param=l1-c 
 +   ache-line-size=64 --param=l2-cache-size=9216 -mtune=skylake -g -O2 - 
 +   std=f2008 -ffree-form -ffree-line-length-none -fno-omit-frame-pointe 
 +   r -fbacktrace -fopenmp -fopenmp-simd -funroll-loops -ftree-vectorize 
 +</code> 
 + 
 +Congratulations! You got a hold of CP2K run on Windows.\\
  
howto/compile_on_windows_with_cygwin.1450834261.txt.gz · Last modified: 2020/08/21 10:15 (external edit)