shankar1729 / jdftx

JDFTx: software for joint density functional theory
http://jdftx.org
82 stars 54 forks source link

Problems with installation on cygwin #34

Closed KirillShe closed 6 years ago

KirillShe commented 6 years ago

I followed the installation guide on cygwin. After typing the command "cmake ../jdftx-git/jdftx/" I got the follow output: ` -- The C compiler identification is GNU 6.4.0 -- The CXX compiler identification is GNU 6.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++.exe -- Check for working CXX compiler: /usr/bin/c++.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: /usr/bin/git.exe (found version "2.15.0") -- Git revision hash: 8120d294 -- Forcing static linking for Cygwin/Windows -- Looking for gsl_integration_glfixed_point -- Looking for gsl_integration_glfixed_point - found -- Found GSL: /lib/libgsl.dll.a -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Found FFTW3: /lib/libfftw3threads.dll.a /lib/libfftw3.dll.a -- Looking for sgemm -- Looking for sgemm_ - not found CMake Error at /usr/share/cmake-3.6.2/Modules/FindBLAS.cmake:690 (message): A required library with BLAS API not found. Please specify library location. Call Stack (most recent call first): /usr/share/cmake-3.6.2/Modules/FindLAPACK.cmake:165 (find_package) CMake-Modules/FindLAPACK_ATLAS.cmake:20 (find_package) CMakeLists.txt:85 (find_package)

-- Configuring incomplete, errors occurred! See also "/home/build_jdft/CMakeFiles/CMakeOutput.log". See also "/home/build_jdft/CMakeFiles/CMakeError.log".

Later, I typed: cmake -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a ../jdftx-git/jdftx/ and after it tried the follow command: cmake -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a -DMPI_CXX_LIBRARIES=/usr/lib/libmpi_mpifh.dll.a ../jdftx-git/jdftx/ These command I saw on the webpage https://stackoverflow.com/questions/50928885/how-to-solve-the-issue-a-required-library-with-blas-api-not-found. And got the same results. I typed "make tests, I got: Running tests... Test project /home/build_jdft Start 1: openShell 1/10 Test #1: openShell ........................Failed 2.94 sec Start 2: vibrations 2/10 Test #2: vibrations .......................Failed 0.55 sec Start 3: moleculeSolvation 3/10 Test #3: moleculeSolvation ................Failed 0.51 sec Start 4: ionSolvation 4/10 Test #4: ionSolvation .....................Failed 0.51 sec Start 5: latticeOpt 5/10 Test #5: latticeOpt .......................Failed 0.81 sec Start 6: metalBulk 6/10 Test #6: metalBulk ........................Failed 0.68 sec Start 7: plusU 7/10 Test #7: plusU ............................Failed 0.55 sec Start 8: spinOrbit 8/10 Test #8: spinOrbit ........................Failed 0.42 sec Start 9: graphene 9/10 Test #9: graphene .........................Failed 0.36 sec Start 10: metalSurface 10/10 Test #10: metalSurface .....................Failed 0.30 sec

0% tests passed, 10 tests failed out of 10

Total Test time (real) = 7.76 sec

The following tests FAILED: 1 - openShell (Failed) 2 - vibrations (Failed) 3 - moleculeSolvation (Failed) 4 - ionSolvation (Failed) 5 - latticeOpt (Failed) 6 - metalBulk (Failed) 7 - plusU (Failed) 8 - spinOrbit (Failed) 9 - graphene (Failed) 10 - metalSurface (Failed) Errors while running CTest make: *** [Makefile:73: test] Ошибка 8

Then I entered "ldd ./jdft.exe", and got: ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x76fe0000) KERNEL32.DLL => /cygdrive/c/Windows/SYSTEM32/KERNEL32.DLL (0x74f40000) KERNELBASE.dll => /cygdrive/c/Windows/SYSTEM32/KERNELBASE.dll (0x75270000) cygfftw3-3.dll => /usr/local/bin/cygfftw3-3.dll (0x6c480000) cygfftw3_threads-3.dll => /usr/bin/cygfftw3_threads-3.dll (0x53560000) cyggsl-19.dll => /usr/bin/cyggsl-19.dll (0x6d380000) cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) cyglapack-0.dll => /usr/lib/lapack/cyglapack-0.dll (0x33990000) cygmpi-12.dll => /usr/bin/cygmpi-12.dll (0x407a0000) cygmpi_cxx-1.dll => /usr/bin/cygmpi_cxx-1.dll (0x40780000) cygblas-0.dll => /usr/bin/cygblas-0.dll (0x61d40000) cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x51950000) cyggfortran-3.dll => /usr/bin/cyggfortran-3.dll (0x4db90000) cygopen-pal-13.dll => /usr/bin/cygopen-pal-13.dll (0x3f870000) cygopen-rte-12.dll => /usr/bin/cygopen-rte-12.dll (0x3f780000) cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x3bc80000)

` I have no idea how to treat this issue. Please, help me.

shankar1729 commented 6 years ago

Recent updates to cygwin seems to have broken our compilation suggestions for it. Try adding -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a to your cmake commandline.

Also, please note that jdftx performance in cygwin can be quite poor; most of our users use it on unix/linux systems.

Best, Shankar

KirillShe commented 6 years ago

I added -DLAPACK_LIBRARIES=/usr/lib/liblapack.dll.a to my cmake commandline. All test are failed. LastTest.log contains: ` Start testing: Jul 25 14:43 GMT

1/10 Testing: openShell 1/10 Test: openShell Command: "/home/jdftx-git/jdftx/test/runTest.sh" "openShell" "/home/jdftx-git/jdftx/test" "/home/build_jdft/test" "/home/build_jdft" Directory: /home/build_jdft/test "openShell" start time: Jul 25 14:43 GMT Output:

launch="mpirun -n 1"

Primary job terminated normally, but 1 process returned a non-zero exit code.. Per user-direction, the job has been aborted.


mpirun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was:

Process name: [[34079,1],0] Exit code: 127

Test time = 5.24 sec ---------------------------------------------------------- Test Failed. "openShell" end time: Jul 25 14:43 GMT "openShell" time elapsed: 00:00:05 ---------------------------------------------------------- 2/10 Testing: vibrations 2/10 Test: vibrations Command: "/home/jdftx-git/jdftx/test/runTest.sh" "vibrations" "/home/jdftx-git/jdftx/test" "/home/build_jdft/test" "/home/build_jdft" Directory: /home/build_jdft/test "vibrations" start time: Jul 25 14:43 GMT Output: ---------------------------------------------------------- launch="mpirun -n 1" ------------------------------------------------------- Primary job terminated normally, but 1 process returned a non-zero exit code.. Per user-direction, the job has been aborted. ------------------------------------------------------- -------------------------------------------------------------------------- mpirun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: Process name: [[38011,1],0] Exit code: 127 -------------------------------------------------------------------------- : `
shankar1729 commented 6 years ago

Tests are failing because compilation is failing and there is no executable. So we need to get make to work correctly first before running make test.

What were the results of cmake and make after the previous modifictaion I suggested?

Cheers, Shankar

KirillShe commented 6 years ago

I reported exactly the results in LastTest.log after the previous modifictaion you suggested. Cmake and make finished without any error. jdft.exe is exist, its size is 15 MB.

shankar1729 commented 6 years ago

Oh I see. What output do you get if you run ./jdftx.exe in the build directory? Can you also post your CMakeCache.txt?

KirillShe commented 6 years ago

No any output. Executing take no time.

KirillShe commented 6 years ago

CMakeCache.txt `

This is the CMakeCache file.

For build in directory: /home/jdftx-git/build

It was generated by CMake: /usr/bin/cmake.exe

You can edit this file to change values found and used by cmake.

If you do not want to change any of the values, simply exit the editor.

If you do want to change a value, simply edit, save, and exit the editor.

The syntax for the file is as follows:

KEY:TYPE=VALUE

KEY is the name of a variable in the cache.

TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.

VALUE is the current value for the KEY.

########################

EXTERNAL cache entries

########################

//Path to a library. CBLAS_LIBRARY:FILEPATH=/usr/local/lib/libgslcblas.a

//Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar.exe

//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING=

//Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++.exe

//Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C compiler CMakeCache.txt

`

KirillShe commented 6 years ago

it is NOT all file.

shankar1729 commented 6 years ago

And CmakeCache.txt from your build directory?

KirillShe commented 6 years ago

Excuse me. Here it is `

This is the CMakeCache file.

For build in directory: /home/jdftx-git/build

It was generated by CMake: /usr/bin/cmake.exe

You can edit this file to change values found and used by cmake.

If you do not want to change any of the values, simply exit the editor.

If you do want to change a value, simply edit, save, and exit the editor.

The syntax for the file is as follows:

KEY:TYPE=VALUE

KEY is the name of a variable in the cache.

TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.

VALUE is the current value for the KEY.

########################

EXTERNAL cache entries

########################

//Path to a library. CBLAS_LIBRARY:FILEPATH=/usr/local/lib/libgslcblas.a

//Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar.exe

//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING=

//Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++.exe

//Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C compiler CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc

//Flags used by the compiler during all build types. CMAKE_C_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds. CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--enable-auto-import

//Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation. CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

//Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local

//Path to a program. CMAKE_LINKER:FILEPATH=/usr/bin/ld.exe

//Path to a program. CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make.exe

//Flags used by the linker during the creation of modules. CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program. CMAKE_NM:FILEPATH=/usr/bin/nm.exe

//Path to a program. CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy.exe

//Path to a program. CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump.exe

//Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=JDFTx

//Path to a program. CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib.exe

//RC compiler CMAKE_RC_COMPILER:FILEPATH=/usr/bin/windres.exe

//Flags for Windows Resource Compiler. CMAKE_RC_FLAGS:STRING=' '

//Flags used by the linker during the creation of dll's. CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries, // but are added when building. CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries. CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program. CMAKE_STRIP:FILEPATH=/usr/bin/strip.exe

//If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Enable aggressive architecture-dependent optimizations for current // CPU. CompileNative:BOOL=OFF

//Whether MPI library supports directly accessing CUDA pointer CudaAwareMPI:BOOL=OFF

//Graphviz Dot tool for using Doxygen DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND

//Doxygen documentation generation tool (http://www.doxygen.org) DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen.exe

//Enable NVIDIA GPU support using CUDA EnableCUDA:BOOL=OFF

//Enable HDF5 features (currently required only by Berkeley GW // dump option) EnableHDF5:BOOL=OFF

//Use LibXC to provide additional exchange-correlation functionals EnableLibXC:BOOL=OFF

//Use Intel MKL to provide BLAS, LAPACK and FFTs EnableMKL:BOOL=OFF

//Use MPI parallelization (in addition to threads / gpu) EnableMPI:BOOL=ON

//Optionally enable profiling to determine ideal functions to optimize // (for developers) EnableProfiling:BOOL=OFF

//If yes, create a shared library exposing solvation models to // VASP. EnableVASP:BOOL=OFF

//Path to a file. FFTW3_INCLUDE_DIR:PATH=/usr/local/include

//Path to a library. FFTW3_LIBRARY:FILEPATH=/lib/libfftw3.dll.a

//Path to a library. FFTW3_THREADS_LIBRARY:FILEPATH=/lib/libfftw3_threads.dll.a

//Force usage of FFTW (even if MKL is enabled) ForceFFTW:BOOL=OFF

//Git command line client GIT_EXECUTABLE:FILEPATH=/usr/bin/git.exe

//Path to a library. GSL_BLAS_LIBRARY:FILEPATH=/lib/libgslcblas.dll.a

//Path to a file. GSL_INCLUDE_DIR:PATH=/usr/local/include

//Path to a library. GSL_LIBRARY:FILEPATH=/lib/libgsl.dll.a

//Value Computed by CMake JDFTx_BINARY_DIR:STATIC=/home/jdftx-git/build

//Value Computed by CMake JDFTx_SOURCE_DIR:STATIC=/home/jdftx-git/jdftx

//No help, variable specified on the command line. LAPACK_LIBRARIES:UNINITIALIZED=/usr/lib/liblapack.dll.a

//Enable link-time optimizations (eg. flto on GNU, ipo on Intel). LinkTimeOptimization:BOOL=OFF

//Executable for running MPI programs. MPIEXEC:FILEPATH=/usr/bin/mpiexec

//Maximum number of processors available to run MPI applications. MPIEXEC_MAX_NUMPROCS:STRING=2

//Flag used by MPI to specify the number of processes for MPIEXEC; // the next option will be the number of processes. MPIEXEC_NUMPROC_FLAG:STRING=-np

//These flags will come after all flags given to MPIEXEC. MPIEXEC_POSTFLAGS:STRING=

//These flags will be directly before the executable that is being // run by MPIEXEC. MPIEXEC_PREFLAGS:STRING=

//Safe mode for MPI writes: write from one process; may be needed // on some NFS installations MPISafeWrite:BOOL=OFF

//Path to a program. MPI_CXX_COMPILER:FILEPATH=/usr/bin/mpicxx

//MPI CXX compilation flags MPI_CXX_COMPILE_FLAGS:STRING=-fexceptions

//MPI CXX include path MPI_CXX_INCLUDE_PATH:STRING=/usr/include

//MPI CXX libraries to link against MPI_CXX_LIBRARIES:STRING=/usr/lib/libmpi_cxx.dll.a;/usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libopen-pal.dll.a;/usr/lib/libm.a;/cygdrive/c/MinGW/lib/libgdi32.a

//MPI CXX linking flags MPI_CXX_LINK_FLAGS:STRING=

//Path to a program. MPI_C_COMPILER:FILEPATH=/usr/bin/mpicc

//MPI C compilation flags MPI_C_COMPILE_FLAGS:STRING=-fexceptions

//MPI C include path MPI_C_INCLUDE_PATH:STRING=/usr/include

//MPI C libraries to link against MPI_C_LIBRARIES:STRING=/usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libopen-pal.dll.a;/usr/lib/libm.a;/cygdrive/c/MinGW/lib/libgdi32.a

//MPI C linking flags MPI_C_LINK_FLAGS:STRING=

//Extra MPI libraries to link against MPI_EXTRA_LIBRARY:STRING=/usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libopen-pal.dll.a;/usr/lib/libm.a;/cygdrive/c/MinGW/lib/libgdi32.a

//MPI library to link against MPI_LIBRARY:FILEPATH=/usr/lib/libmpi_cxx.dll.a

//Use page-locked host memory to speed up GPU transfers PinnedHostMemory:BOOL=OFF

//Link statically instead of dynamically StaticLinking:BOOL=OFF

//Used built-in threading of the BLAS library if yes; thread in // JDFTx if no (currently affects only MKL) ThreadedBLAS:BOOL=ON

//Dependencies for the target jdftxlib_LIB_DEPENDS:STATIC=general;/usr/lib/libmpi_cxx.dll.a;general;/usr/lib/libmpi.dll.a;general;/usr/lib/libopen-rte.dll.a;general;/usr/lib/libopen-pal.dll.a;general;/usr/lib/libm.a;general;/cygdrive/c/MinGW/lib/libgdi32.a;general;/lib/libgsl.dll.a;general;/lib/libfftw3_threads.dll.a;general;/lib/libfftw3.dll.a;general;/usr/local/lib/libgslcblas.a;general;/usr/lib/liblapack.dll.a;

########################

INTERNAL cache entries

########################

//ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=/home/jdftx-git/build //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=6 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=/usr/bin/cmake.exe //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack.exe //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest.exe //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake.exe //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of external makefile project generator. CMAKE_EXTRA_GENERATOR:INTERNAL= //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Name of generator platform. CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= //Have symbol pthread_create CMAKE_HAVE_LIBC_CREATE:INTERNAL=1 //Have include pthread.h CMAKE_HAVE_PTHREAD_H:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/home/jdftx-git/jdftx //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MAKE_PROGRAM CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RC_COMPILER CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 CMAKE_RC_COMPILER_WORKS:INTERNAL=1 //ADVANCED property for variable: CMAKE_RC_FLAGS CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.6.2 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //uname command CMAKE_UNAME:INTERNAL=/usr/bin/uname.exe //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: DOXYGEN_EXECUTABLE DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1 //Details about finding Doxygen FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen.exe][v1.8.14()] //Details about finding Git FIND_PACKAGE_MESSAGE_DETAILS_Git:INTERNAL=[/usr/bin/git.exe][v2.15.0()] //Details about finding MPI_C FIND_PACKAGE_MESSAGE_DETAILS_MPI_C:INTERNAL=[/usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libopen-pal.dll.a;/usr/lib/libm.a;/cygdrive/c/MinGW/lib/libgdi32.a][/usr/include][v()] //Details about finding MPI_CXX FIND_PACKAGE_MESSAGE_DETAILS_MPI_CXX:INTERNAL=[/usr/lib/libmpi_cxx.dll.a;/usr/lib/libmpi.dll.a;/usr/lib/libopen-rte.dll.a;/usr/lib/libopen-pal.dll.a;/usr/lib/libm.a;/cygdrive/c/MinGW/lib/libgdi32.a][/usr/include][v()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //ADVANCED property for variable: GIT_EXECUTABLE GIT_EXECUTABLE-ADVANCED:INTERNAL=1 //Have symbol gsl_integration_glfixed_point GSL_VERSION_ADEQUATE:INTERNAL=1 //Test HAS_NO_UNUSED_RESULT HAS_NO_UNUSED_RESULT:INTERNAL=1 //Test HAS_TEMPLATE_DEPTH HAS_TEMPLATE_DEPTH:INTERNAL=1 //ADVANCED property for variable: MPIEXEC MPIEXEC-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_MAX_NUMPROCS MPIEXEC_MAX_NUMPROCS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_NUMPROC_FLAG MPIEXEC_NUMPROC_FLAG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_POSTFLAGS MPIEXEC_POSTFLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_PREFLAGS MPIEXEC_PREFLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_COMPILER MPI_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_COMPILE_FLAGS MPI_CXX_COMPILE_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_INCLUDE_PATH MPI_CXX_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_LIBRARIES MPI_CXX_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_LINK_FLAGS MPI_CXX_LINK_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_COMPILER MPI_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_COMPILE_FLAGS MPI_C_COMPILE_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_INCLUDE_PATH MPI_C_INCLUDE_PATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_LIBRARIES MPI_C_LIBRARIES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_LINK_FLAGS MPI_C_LINK_FLAGS-ADVANCED:INTERNAL=1 //Scratch variable for MPI header detection MPI_HEADER_PATH:INTERNAL=MPI_HEADER_PATH-NOTFOUND //Scratch variable for MPI lib detection MPI_LIB:INTERNAL=MPI_LIB-NOTFOUND

`

shankar1729 commented 6 years ago

I recently encountered the Windows Subsystem for Linux, which allows installing a minimal linux distro like Ubuntu on top of Windows. I have tested this option and found that it gives much better performance than Cygwin for JDFTx, almost (but not quite) comparable to the performance on a native Linux install.

This is also much easier to install and for us to support, since it essentially amounts to working on Linux. I have updated the build instructions for Windows to recommend this by default.

Best, Shankar