Replies: 1 comment
-
Of course. Your other shared libraries like Boost, GSL, etc... will need to match between machine or redistributed with the Python package and properly set rpaths. Alternatively, if the libraries allow, you could just statically link all your other shared libraries into your .so file. There is no-guarantee that PyBind will work between Python versions and you probably will need to redistribute different wheels for each Python version (PyPy / Conda / etc will handle this for you assuming you have all the proper wheels built). |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This may seem like a noob question: I'm building a python lib using pybind to wrap c++ code. Let's call this pyX.so. Can this file be distributed to other machines with same architecture and expected to run its python tests correctly?
Right now, I'm getting errors like
ModuleNotFoundError: No module named 'pyX'
(even though its in the same folder) orImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
(if I use a setup.py). To clarify -- the machine being compiled on has Python 3.8, while the machine being deployed to has Python 3.6. Even if I use machines with same python3 versions, I'm encountering error messages regarding the dependent libraries versions (such as Boost, GSL, etc.). Any ideas on what I may be doing wrong?Thank you.
Beta Was this translation helpful? Give feedback.
All reactions