You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it possible to install the Python bindings via pip/setup.py reusing an already installed Z3 (built with CMake)?
Issue is:
Installing Z3 and Python-bindings with CMake misses the meta-data used by pip so installing a Python package depending on z3-solver with pip would not find the already installed z3-solver package
Installing z3-solver via pip from source/PyPI misses the CMakeConfig files as well as e.g. the "include" folder to be consumed by C/C++ libraries
Installing both (build via CMake and pip) duplicates the library, includes, etc. and might even differ in the build options used which can cause issues when they end up loaded into a single binary (assume a libraryA linked against the CMake-built Z3 and providing own Python bindings. Now when that Python bindings are imported the CMake-built Z3 is loaded and importing z3 will now make the z3 python bindings use that too instead of "its own" which may be incompatible, e.g. due to ABI differences caused by different build-options)
So how can I install the Python bindings with pip without them building the Z3 binaries/libraries? This can assume Z3 has been previously installed and is available via LD_LIBRARY_PATH/LIBRARY_PATH/CPATH/...
This discussion was converted from issue #7031 on December 04, 2023 02:42.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Is it possible to install the Python bindings via pip/setup.py reusing an already installed Z3 (built with CMake)?
Issue is:
So how can I install the Python bindings with pip without them building the Z3 binaries/libraries? This can assume Z3 has been previously installed and is available via LD_LIBRARY_PATH/LIBRARY_PATH/CPATH/...
Beta Was this translation helpful? Give feedback.
All reactions