Argonne-National-Laboratory / DSP

An open-source parallel optimization solver for structured mixed-integer programming
Other
81 stars 24 forks source link

Windows subsystem linux installation #204

Closed MiftariB closed 2 years ago

MiftariB commented 2 years ago

Hi ,

I am looking to install DSP with Gurobi 9.1.2 on the Windows subsystem Linux 2 (gurobi is also installed on the subsystem) but I am unable to fix the following bug :

The cmake works with the following output :

-- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.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++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- The Fortran compiler identification is GNU 7.5.0 -- Check for working Fortran compiler: /usr/bin/gfortran -- Check for working Fortran compiler: /usr/bin/gfortran -- works -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Checking whether /usr/bin/gfortran supports Fortran 90 -- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes -- The system information: Linux-5.10.16.3-microsoft-standard-WSL2.x86_64 -- Build type: Release -- Looking for Fortran dgemm -- Looking for Fortran dgemm - found -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- A library with BLAS API found. -- A library with BLAS API found. -- Looking for Fortran cheev -- Looking for Fortran cheev - found -- A library with LAPACK API found. -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") -- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6") -- Looking for BZ2_bzCompressInit -- Looking for BZ2_bzCompressInit - found -- Found MPI_C: /usr/lib/x86_64-linux-gnu/libmpich.so (found version "3.1") -- Found MPI_CXX: /usr/lib/x86_64-linux-gnu/libmpichcxx.so (found version "3.1") -- Found MPI_Fortran: /usr/lib/x86_64-linux-gnu/libmpichfort.so (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Could not find ma27 (disabled OOQP solver) -- SCIP is required for Benders decomposition. Benders decomposition is disabled with SCIP library. -- Code coverage: OFF -- Configuring done -- Generating done -- Build files have been written to: /mnt/c/Users/bardh/Documents/installation/DSP/build

But the make returns :

Scanning dependencies of target CoinUtils [ 1%] Creating directories for 'CoinUtils' [ 2%] No download step for 'CoinUtils' [ 3%] No patch step for 'CoinUtils' [ 4%] No update step for 'CoinUtils' [ 5%] Performing configure step for 'CoinUtils' checking build system type... x86_64-unknown-linux-gnu checking whether we want to compile in debug mode... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed configure: C compiler options are: -O3 -pipe -DNDEBUG -Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall -Wno-unknown-pragmas -Wno-long-long checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether C++ compiler g++ works... yes configure: C++ compiler options are: -O3 -pipe -DNDEBUG -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -fPIC -Wno-sign-conversion -Wno-float-conversion -Wno-shorten-64-to-32 -Wno-unused-variable -Wno-constant-logical-operand -Wno-dynamic-class-memaccess -Wno-unused-private-field configure: Trying to determine Fortran compiler name checking for gfortran... gfortran checking whether we are using the GNU Fortran 77 compiler... yes checking whether gfortran accepts -g... yes configure: Fortran compiler options are: -O3 -pipe checking for egrep... grep -E checking whether ln -s works... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking dependency style of g++... gcc3 checking whether to enable maintainer-specific portions of Makefiles... no checking host system type... x86_64-unknown-linux-gnu checking for a sed that does not truncate output... /bin/sed checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking how to run the C++ preprocessor... g++ -E checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld -m elf_x86_64 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for gfortran option to produce PIC... -fPIC checking if gfortran PIC flag -fPIC works... yes checking if gfortran static flag -static works... yes checking if gfortran supports -c -o file.o... yes checking whether the gfortran linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate configure: Build is "x86_64-unknown-linux-gnu". checking for dos2unix... no checking if library version is set... no checking whether source of project Glpk is available and should be compiled... no checking whether source of project Blas is available and should be compiled... no checking whether source of project Lapack is available and should be compiled... no checking whether source of project Sample is available and should be compiled... no checking whether source of project Netlib is available and should be compiled... no checking whether source of project CoinUtils is available and should be compiled... yes, source in CoinUtils configure: configuring doxygen documentation options checking for doxygen... no checking for latex... yes checking for dot... NO checking which command should be used to link input files... ln -s configure: creating ./config.status config.status: creating Makefile config.status: creating doxydoc/doxygen.conf config.status: executing depfiles commands configure: configuring in CoinUtils configure: running /bin/bash '/mnt/c/Users/bardh/Documents/installation/DSP/extra/CoinUtils/CoinUtils/configure' --prefix=/mnt/c/Users/bardh/Documents/installation/DSP/build '--prefix=/mnt/c/Users/bardh/Documents/installation/DSP/build' '--enable-static' '--disable-shared' 'ADD_CXXFLAGS=-fPIC -Wno-sign-conversion -Wno-float-conversion -Wno-shorten-64-to-32 -Wno-unused-variable -Wno-constant-logical-operand -Wno-dynamic-class-memaccess -Wno-unused-private-field' --cache-file=/dev/null --srcdir=/mnt/c/Users/bardh/Documents/installation/DSP/extra/CoinUtils/CoinUtils checking build system type... x86_64-unknown-linux-gnu checking for svnversion... no checking whether we want to compile in debug mode... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed configure: C compiler options are: -O3 -pipe -DNDEBUG -Wimplicit -Wparentheses -Wsequence-point -Wreturn-type -Wcast-qual -Wall -Wno-unknown-pragmas -Wno-long-long -DCOINUTILS_BUILD checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether C++ compiler g++ works... yes configure: C++ compiler options are: -O3 -pipe -DNDEBUG -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -fPIC -Wno-sign-conversion -Wno-float-conversion -Wno-shorten-64-to-32 -Wno-unused-variable -Wno-constant-logical-operand -Wno-dynamic-class-memaccess -Wno-unused-private-field -DCOINUTILS_BUILD configure: Trying to determine Fortran compiler name checking for gfortran... gfortran checking whether we are using the GNU Fortran 77 compiler... yes checking whether gfortran accepts -g... yes configure: Fortran compiler options are: -O3 -pipe checking how to get verbose linking output from gfortran... -v checking for Fortran libraries of gfortran... -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lgcc_s -lquadmath configure: Corrected Fortran libraries: -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lgfortran -lm -lquadmath checking for dummy main to link with Fortran libraries... none checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore checking for egrep... grep -E checking whether ln -s works... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking dependency style of g++... gcc3 checking whether to enable maintainer-specific portions of Makefiles... no configure: Using libtool script in directory .. checking if library version is set... no checking cmath usability... yes checking cmath presence... yes checking for cmath... yes checking cfloat usability... yes checking cfloat presence... yes checking for cfloat... yes checking cieeefp usability... no checking cieeefp presence... no checking for cieeefp... no checking ieeefp.h usability... no checking ieeefp.h presence... no checking for ieeefp.h... no checking whether isfinite is declared... no checking whether finite is declared... yes checking for cmath... (cached) yes checking for cfloat... (cached) yes checking for cieeefp... (cached) no checking for ieeefp.h... (cached) no checking whether isnan is declared... no checking whether std::isnan(42.42) is declared... yes checking cinttypes usability... yes checking cinttypes presence... yes checking for cinttypes... yes checking cstdint usability... yes checking cstdint presence... yes checking for cstdint... yes checking for int64_t... yes checking for intptr_t... yes checking windows.h usability... no checking windows.h presence... no checking for windows.h... no checking endian.h usability... yes checking endian.h presence... yes checking for endian.h... yes checking for pkg-config... no checking whether -lblas has BLAS... yes: -lblas checking whether LAPACK is already available with BLAS library... no checking whether -llapack has LAPACK... yes: -llapack checking for COIN-OR package Glpk... skipped check via pkg-config, redirect to fallback checking for COIN-OR package Glpk (fallback)... no, dependency coinglpk not available checking for COIN-OR package Sample... skipped check via pkg-config, redirect to fallback checking for COIN-OR package Sample (fallback)... no, dependency coindatasample not available checking for COIN-OR package Netlib... skipped check via pkg-config, redirect to fallback checking for COIN-OR package Netlib (fallback)... no, dependency coindatanetlib not available checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for gzopen in -lz... yes checking bzlib.h usability... yes checking bzlib.h presence... yes checking for bzlib.h... yes checking for BZ2_bzReadOpen in -lbz2... yes checking whether this is a VPATH configuration... yes configure: configuring doxygen documentation options checking for doxygen... no checking for latex... yes checking for dot... NO checking which command should be used to link input files... ln -s configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating coinutils.pc config.status: creating coinutils-uninstalled.pc config.status: creating doxydoc/doxygen.conf config.status: creating src/config.h config.status: creating src/config_coinutils.h config.status: executing depfiles commands configure: Creating VPATH links for data files configure: In case of trouble, first consult the troubleshooting page at https://projects.coin-or.org/BuildTools/wiki/user-troubleshooting configure: Configuration of CoinUtils successful configure: In case of trouble, first consult the troubleshooting page at https://projects.coin-or.org/BuildTools/wiki/user-troubleshooting configure: Main configuration of CoinUtils successful [ 6%] Performing build step for 'CoinUtils' Making all in CoinUtils Making all in src Makefile:603: .deps/CoinAlloc.Plo: No such file or directory Makefile:604: .deps/CoinBuild.Plo: No such file or directory Makefile:605: .deps/CoinDenseFactorization.Plo: No such file or directory Makefile:606: .deps/CoinDenseVector.Plo: No such file or directory Makefile:607: .deps/CoinError.Plo: No such file or directory Makefile:608: .deps/CoinFactorization1.Plo: No such file or directory Makefile:609: .deps/CoinFactorization2.Plo: No such file or directory Makefile:610: .deps/CoinFactorization3.Plo: No such file or directory Makefile:611: .deps/CoinFactorization4.Plo: No such file or directory Makefile:612: .deps/CoinFileIO.Plo: No such file or directory Makefile:613: .deps/CoinFinite.Plo: No such file or directory Makefile:614: .deps/CoinIndexedVector.Plo: No such file or directory Makefile:615: .deps/CoinLpIO.Plo: No such file or directory Makefile:616: .deps/CoinMessage.Plo: No such file or directory Makefile:617: .deps/CoinMessageHandler.Plo: No such file or directory Makefile:618: .deps/CoinModel.Plo: No such file or directory Makefile:619: .deps/CoinModelUseful.Plo: No such file or directory Makefile:620: .deps/CoinModelUseful2.Plo: No such file or directory Makefile:621: .deps/CoinMpsIO.Plo: No such file or directory Makefile:622: .deps/CoinOslFactorization.Plo: No such file or directory Makefile:623: .deps/CoinOslFactorization2.Plo: No such file or directory Makefile:624: .deps/CoinOslFactorization3.Plo: No such file or directory Makefile:625: .deps/CoinPackedMatrix.Plo: No such file or directory Makefile:626: .deps/CoinPackedVector.Plo: No such file or directory Makefile:627: .deps/CoinPackedVectorBase.Plo: No such file or directory Makefile:628: .deps/CoinParam.Plo: No such file or directory Makefile:629: .deps/CoinParamUtils.Plo: No such file or directory Makefile:630: .deps/CoinPostsolveMatrix.Plo: No such file or directory Makefile:631: .deps/CoinPrePostsolveMatrix.Plo: No such file or directory Makefile:632: .deps/CoinPresolveDoubleton.Plo: No such file or directory Makefile:633: .deps/CoinPresolveDual.Plo: No such file or directory Makefile:634: .deps/CoinPresolveDupcol.Plo: No such file or directory Makefile:635: .deps/CoinPresolveEmpty.Plo: No such file or directory Makefile:636: .deps/CoinPresolveFixed.Plo: No such file or directory Makefile:637: .deps/CoinPresolveForcing.Plo: No such file or directory Makefile:638: .deps/CoinPresolveHelperFunctions.Plo: No such file or directory Makefile:639: .deps/CoinPresolveImpliedFree.Plo: No such file or directory Makefile:640: .deps/CoinPresolveIsolated.Plo: No such file or directory Makefile:641: .deps/CoinPresolveMatrix.Plo: No such file or directory Makefile:642: .deps/CoinPresolveMonitor.Plo: No such file or directory Makefile:643: .deps/CoinPresolvePsdebug.Plo: No such file or directory Makefile:644: .deps/CoinPresolveSingleton.Plo: No such file or directory Makefile:645: .deps/CoinPresolveSubst.Plo: No such file or directory Makefile:646: .deps/CoinPresolveTighten.Plo: No such file or directory Makefile:647: .deps/CoinPresolveTripleton.Plo: No such file or directory Makefile:648: .deps/CoinPresolveUseless.Plo: No such file or directory Makefile:649: .deps/CoinPresolveZeros.Plo: No such file or directory Makefile:650: .deps/CoinRational.Plo: No such file or directory Makefile:651: .deps/CoinSearchTree.Plo: No such file or directory Makefile:652: .deps/CoinShallowPackedVector.Plo: No such file or directory Makefile:653: .deps/CoinSimpFactorization.Plo: No such file or directory Makefile:654: .deps/CoinSnapshot.Plo: No such file or directory Makefile:655: .deps/CoinStructuredModel.Plo: No such file or directory Makefile:656: .deps/CoinWarmStartBasis.Plo: No such file or directory Makefile:657: .deps/CoinWarmStartDual.Plo: No such file or directory Makefile:658: .deps/CoinWarmStartPrimalDual.Plo: No such file or directory Makefile:659: .deps/CoinWarmStartVector.Plo: No such file or directory make[5]: No rule to make target '.deps/CoinWarmStartVector.Plo'. Stop. Makefile:437: recipe for target 'all-recursive' failed make[4]: [all-recursive] Error 1 Makefile:324: recipe for target 'all-recursive' failed make[3]: [all-recursive] Error 1 extra/CMakeFiles/CoinUtils.dir/build.make:110: recipe for target 'extra/CoinUtils-prefix/src/CoinUtils-stamp/CoinUtils-build' failed make[2]: [extra/CoinUtils-prefix/src/CoinUtils-stamp/CoinUtils-build] Error 2 CMakeFiles/Makefile2:241: recipe for target 'extra/CMakeFiles/CoinUtils.dir/all' failed make[1]: [extra/CMakeFiles/CoinUtils.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: [all] Error 2

Do you have any idea upon the error ? Any help would be welcomed. Thanks in advance for your time.

Regards ,

Miftari B

kibaekkim commented 2 years ago

It looks like some files in CoinUtils (one of the third-party libraries) are not available. Can you confirm that you clone the repo by using the following?

git clone --recursive https://github.com/Argonne-National-Laboratory/DSP.git
MiftariB commented 2 years ago

Yes, sorry for the disturbance. My bad completely, I had an error in the recursive git cloning that i did not see as i wrote : git clone --recursive https://github.com/Argonne-National-Laboratory/DSP.git 2>&1

Thanks a lot !

Miftari B