[Build] - Only use pre-compiled Legion when Python library in use is stored at /opt/conda/lib/libpython3.9.so
#465
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.
Description of changes:
This PR introduces additional checks to ensure that we only use the pre-compiled Legion library when the configs on the user machine match those that were used when pre-compiling. In particular, we only use the pre-built library if the version of Python in use has its library file stored at
/opt/conda/lib/libpython3.9.so
. This is a bit limiting, but unfortunately the absolute path to the Python library is hard-coded deeply into the Legion codebase at compile time, and there is no easy way to overwrite it (or recompile the relevant part of the Legion code) when building FlexFlow.After this change, we should still be able to use the pre-built version of Legion in CI, in Docker, and on any other machine where Python is installed at the default path through Miniconda.
Related Issues:
Linked Issues:
/opt/conda/lib/libpython3.9.so
#478Issues closed by this PR:
dlopen
error loadinglibpython3.9
when using pre-built legion #464Before merging: