Ошибка установки SCIP при выполнении - scipoptsuite-6.0.2

Я хочу использовать пакет оптимизации SCIP 6.0.2 вместе с интерфейсом Python PySCIPOpt и включить отладку. Я работаю в Linux - Ubuntu 18.04LTS без прав sudo (я избегаю использования sudo, потому что хочу сделать то же самое в кластере, где у меня нет опции sudo). Я следую инструкциям по установке в SCIP и PySCIPOpt и попробуйте установить SCIP в моем HOME каталоге, указав собственный путь к команде cmake.

Я сделал следующее:
в моем .bashrc I export SCIPOPTDIR=$HOME/scipoptsuite-6.0.2/build

затем в ~/scipoptsuite-6.0.2:

cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$SCIPOPTDIR

выход:

-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.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++
-- 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
-- Could NOT find BISON (missing: BISON_EXECUTABLE) 
-- Could NOT find FLEX (missing: FLEX_EXECUTABLE) 
-- Could NOT find GMP (missing: GMP_INCLUDE_DIRS GMP_LIBRARIES) 
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
-- Could NOT find GMP (missing: GMP_INCLUDE_DIRS GMP_LIBRARIES) 
-- Build shared libraries: ON
-- Build type: Debug
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
-- Could NOT find Readline (missing: Readline_INCLUDE_DIR Readline_LIBRARY) 
-- Could NOT find GMP (missing: GMP_INCLUDE_DIRS GMP_LIBRARIES) 
-- Could NOT find BLISS (missing: BLISS_INCLUDE_DIR BLISS_INCLUDE_DIRS BLISS_LIBRARIES BLISS_DEFINITIONS) 
-- Could NOT find ZIMPL (missing: ZIMPL_DIR)
-- Could NOT find IPOPT (missing: IPOPT_LIBRARIES) (Required is at least version "3.12.0")
-- Looking for FE_DOWNWARD
-- Looking for FE_DOWNWARD - found
-- Could NOT find CRITERION (missing: CRITERION_LIBRARY CRITERION_INCLUDE_DIR) 
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Warning at scip/doc/CMakeLists.txt:19 (message):
  Could not find all of doxygen, python, php, and bash in system path, which
  are required for generation of documentation


-- Could NOT find CRITERION (missing: CRITERION_LIBRARY CRITERION_INCLUDE_DIR) 
-- Build shared libraries: ON
-- Build type: Debug
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Could NOT find GSL: Found unsuitable version "", but required is at least "2.0" (found GSL_INCLUDE_DIR-NOTFOUND)
-- Could NOT find GMP (missing: GMP_INCLUDE_DIRS GMP_LIBRARIES) 
-- Could NOT find CLIQUER (missing: CLIQUER_INCLUDE_DIRS CLIQUER_LIBRARIES) 
-- Could NOT find BLISS (missing: BLISS_INCLUDE_DIR BLISS_INCLUDE_DIRS BLISS_LIBRARIES BLISS_DEFINITIONS) 
-- The following OPTIONAL packages have been found:

 * PkgConfig

-- The following REQUIRED packages have been found:

 * SOPLEX
 * SCIP

-- The following OPTIONAL packages have not been found:

 * BISON
 * FLEX
 * ZLIB
 * Readline
 * ZIMPL
 * IPOPT (required version >= 3.12.0)
 * Criterion
 * GSL (required version >= 2.0)
 * GMP
 * CLIQUER
 * HMETIS
 * BLISS

-- Configuring done
-- Generating done
-- Build files have been written to: /home/avrech/scipoptsuite-6.0.2/build

затем:
cmake --build build

Выход:

Scanning dependencies of target soplex_update_githash
-- Git hash: b8833cd3
[  0%] Built target soplex_update_githash
Scanning dependencies of target libsoplex-pic
[  0%] Building CXX object soplex/src/CMakeFiles/libsoplex-pic.dir/soplex/changesoplex.cpp.o
...
[100%] Building C object gcg/src/CMakeFiles/gcg.dir/solver_mip.c.o
[100%] Building C object gcg/src/CMakeFiles/gcg.dir/stat.c.o
[100%] Linking CXX executable ../../bin/gcg
[100%] Built target gcg

На данный момент двоичные файлы scip и soplex существуют в build/bin/, и SCIP можно запустить как автономный решатель, выполнив build/bin/scip. Однако каталог build/ не содержит каталог include/, необходимый для PySCIPOpt.

Итак, согласно this, я попытался установить SCIP, запустив:

cd build  
make install  

Затем возникает ошибка:

-- Git hash: b8833cd3
[  0%] Built target soplex_update_githash
[  5%] Built target libsoplex-pic
[ 11%] Built target libsoplex
[ 11%] Built target soplex
-- Git hash: e639a0059d
[ 11%] Built target scip_update_githash
[ 44%] Built target scip
[ 76%] Built target libscip
-- Git hash: 6a662daa
[ 76%] Built target gcg_update_githash
[ 88%] Built target libgcg
[100%] Built target gcg
Install the project...
-- Install configuration: "Debug"
-- Installing: /home/avrech/scipoptsuite-6.0.2/build/include/soplex/array.h
...
-- Installing: /home/avrech/scipoptsuite-6.0.2/build/include/soplex/wallclocktimer.h
-- Installing: /home/avrech/scipoptsuite-6.0.2/build/include/soplex.h
CMake Error at soplex/src/cmake_install.cmake:149 (file):
  file INSTALL cannot find
  "/home/avrech/scipoptsuite-6.0.2/build/bin/soplex".
Call Stack (most recent call first):
  soplex/cmake_install.cmake:42 (include)
  cmake_install.cmake:42 (include)


Makefile:73: recipe for target 'install' failed
make: *** [install] Error 1

Я вижу, что (вероятно, частичный) каталог include/ создан, но по неизвестной причине исполняемый файл soplex исчезает:

$ ls
bin include ...
$ ls bin
applications  examples  gcg  interfaces  scip

Что я сделал не так?

Полный рецепт установки SCIP и PySCIPOpt с опцией отладки будет лучшим. (При необходимости доступны привилегии sudo)

Спасибо.


person Avrech ben david    schedule 26.12.2019    source источник


Ответы (1)


Вам просто нужно указать другой каталог для цели установки. Установите SCIPOPTDIR в некоторый install/ каталог вместо build/, и он должен работать. Вы не можете выполнять установку и сборку с использованием одних и тех же каталогов.

PySCIPOpt ищет каталог установки, поэтому вам всегда нужно запускать установку после сборки проекта.

Для этого вам не понадобится sudo, если вы не хотите устанавливать его в какой-либо системный каталог.

person mattmilten    schedule 26.12.2019