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
Last revisionBoth sides next revision
howto:compile_on_windows_with_cygwin [2015/11/05 22:05] – [3.Compilation with Cygwin] 194.225.172.155howto:compile_on_windows_with_cygwin [2023/11/29 17:16] krack
Line 1: Line 1:
-====== How to Compile and Install CP2K on Windows with Cygwin ======+<note tip>Before reaching for Cygwin we suggest you first try the new [[https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview|Windows Subsystem for Linux]].
  
-===== 1.Cygwin installation: ===== +Check [[howto:compile_on_windows|this howto]] for further details. 
-[[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.\\ +</note> 
-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.\\ +======How to Compile and Install CP2K on Windows with Cygwin====== 
-When installing Cygwin make sure you install the following additional packages:\\ + 
-  *Devel +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.\\ 
-    *“bison” + 
-    *“byacc” + 
-    *“gcc-fortran” +=====1 Install Cygwin===== 
-    *“gcc-g++” + 
-    *“make” +[[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.\\ 
-  *Libs  + 
-      *“lapack” +You can install Cygwin on your 64 bit Windows by using [[https://www.cygwin.com/setup-x86_64.exe|setup-x86_64.exe]] 
-      *“liblapack-devel” +and build cp2k on the Cygwin-Windows system.\\ 
-      *“liblapack0” + 
-  *Python\\ +When installing Cygwinmake sure that you will install the following additional packages:\\
-Please operate according to the wizard to finish the Cygwin installation.\\+
  
-===== 2.Acquiring the code ===== 
-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:\\ 
 <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 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 DLLsto 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.txt · Last modified: 2023/12/01 00:25 by krack