Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@makaimann
Copy link
Collaborator

This PR updates the smt-switch version used in Pono. It temporarily disables any tests that use two CVC4 instances, due to cvc5/cvc5#5893. This limitation will be removed once that issue is resolved, and the updated version of (now) cvc5 is available through smt-switch.

Copy link
Collaborator

@lonsing lonsing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! I left one comment regarding the issue with having two solver instances of CVC4/5.

However, I was not able to build with Python bindings but could not track down the problem.

This is the output of running ./contrib/setup-smt-switch.sh --python:

....
-- Found Threads: TRUE  
CMake Warning at CMakeLists.txt:103 (find_package):
  By not providing "FindPython3.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Python3", but
  CMake did not find one.

  Could not find a package configuration file provided by "Python3" with any
  of the following names:

    Python3Config.cmake
    python3-config.cmake

  Add the installation prefix of "Python3" to CMAKE_PREFIX_PATH or set
  "Python3_DIR" to a directory containing one of the above files.  If
  "Python3" provides a separate development package or SDK, be sure it has
  been installed.


-- Found GMP: /usr/include/x86_64-linux-gnu  
-- Found GMP libs: /usr/lib/x86_64-linux-gnu/libgmp.so
-- Found GMPXX libs: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Didn't find python library and include directory -- falling back
FATALCannot locate python library...
CMake Error at python/CMakeLists.txt:42 (string):
  string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
  command.


CMake Error at python/CMakeLists.txt:43 (string):
  string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
  command.


CMake Error at python/CMakeLists.txt:45 (list):
  list GET given empty list


CMake Error at python/CMakeLists.txt:46 (list):
  list GET given empty list


CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (found version "")
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindPythonInterp.cmake:152 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  deps/scikit-build/skbuild/resources/cmake/FindPythonExtensions.cmake:247 (find_package)
  python/CMakeLists.txt:56 (include)


-- Configuring incomplete, errors occurred!

INSTANTIATE_TEST_SUITE_P(
ParameterizedSolverIC3UnitTests,
IC3UnitTests,
// TEMP excluding CVC4 because IC3 variants use two solvers
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an issue in the tests only or are we also creating two instances of CVC4 anywhere in Pono?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could happen through the command line too, actually. I can add a check for that. If the user requests cvc4 with certain engines then we could end up creating two instances. Thanks for checking that!

@makaimann
Copy link
Collaborator Author

Thanks for the review! Regarding that error message. It looks like this is a CMake version issue. There are two solutions: 1) increase the required CMake version or 2) change back to an old CMake module. I'm leaning towards the latter for now, because the cmake FindPython3 module we're using right now does not integrate very well with scikit-build yet anyway. We can always update it in the future (since FindPythonInterp is technically deprecated). These PRs would make the changes needed for 2:
stanford-centaur/smt-switch#244
#267

@makaimann makaimann merged commit dcc409f into master May 25, 2021
@makaimann makaimann deleted the update-smt-switch branch May 25, 2021 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants