Build roughpy-jax wheel from nested pyproject.toml#263
Draft
alexallmont wants to merge 1 commit into
Draft
Conversation
- First draft attempting to build roughpy-jax wheel directly from the roughpy_jax/ sub directory. - Local build only, run test_build.sh in roughpy_jax/ dir. You cannot directly run `python -m build` because it cannot access files in parent folder, instead the shell script copies them to a `_deps` subdir. - Note that although this builds locally testing on Linux, when pip installing and running `import roughpy_jax` in python, it fails with `ImportError: dynamic module does not define module export function (PyInit__rpy_jax_internals)`
Contributor
|
OK, So I think this build is going to be a little complicated. (Not made easier by the monorepo.) The jax library needs its own pyproject.toml to build a separate package, so the build system that is invoked by python (i.e. the CMakeLists.txt in the roughpy_jax directory) needs to be standalone. As such, it needs to be able to locate all of the dependencies (which hopefully are just roughpy (compute) and the XLA headers from JAX. This needs to be handled delicately, and it would probably be easier if this were in a separate repo. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Experimental build of roughpy-jax wheel in subdir
Early check whether building project in subdir may cause future problems.
This is not in CI, just testing build locally for now on a Linux machine. Run
test_build.shfromroughpy_jax/.Notes
test_build.shcopies them in before it gets into the python build and cmake ecosystem.import roughpy_jaxin python, it fails withImportError: dynamic module does not define module export function (PyInit__rpy_jax_internals), suggesting a linkage issue.