Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: allow user-provided pybind11 #749

Open
lrbison opened this issue Mar 15, 2024 · 2 comments
Open

feature request: allow user-provided pybind11 #749

lrbison opened this issue Mar 15, 2024 · 2 comments

Comments

@lrbison
Copy link

lrbison commented Mar 15, 2024

This issue is a feature request for the build system.

While trying to build toast 2.3.14 in python 3.11, I see errors generated because the pybind11 included in the src/toast/src/pybind11 (2.7.1) is too old for python 3.11, even though I had pybind11 2.11.1 in my path. I see pybind11 has been updated on main branch, which fixes the issue when building from source, however cmake files seem to only be aware of the embedded pybind directory, and doesn't attempt to search for external pybind, which means I can't use 2.3.14 in python 3.11 without patching it.

So this issue is a request to have the CMake logic be a little smarter in trying to find a system pybind if available, which might make future releases work with more versions of Python.

@tskisner
Copy link
Member

Hi @lrbison , Although the 2.x version of toast is in maintenance mode with no further development, I agree we could update the bundled pybind-11 there. I do not want to make dramatic changes to the build system in that branch since it is no longer being actively developed. I could add python-3.11 to the test matrix too. The reason for bundling pybind-11 was to ensure that our internal code has a fixed API to target. If an external pybind-11 was used then there might be a chance (perhaps small) that a newer (or older) external version would break compilation of our extension. I'll prepare a PR with that pybind-11 update.

@lrbison
Copy link
Author

lrbison commented Mar 26, 2024

Thank you for the response!

I will also provide you one data point from a non-expert user: I had actually intended to run toast 3, but after searching for your repo, I saw that all the releases were for version 2.x. Likewise the HEAD of the repo points to master, and only after cloning it and trying to build did I realize that master was still for 2.x

I suspect you have many good reasons to keep versions like that, but it might be helpful to mention this fact in the Readme.md landing page for users like me who just want to grab the most up-to-date version and can't find a tarball.

Thanks!

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

No branches or pull requests

2 participants