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
bin/legate doesn't find legion_top in non-editable installation #393
Comments
@rohany can you provide with |
verbose output from the legate driver or from the install? |
the driver, e.g.
|
Before:
After:
|
OK well presumably this is the proximate problem:
I lightly updated the path discovery code so maybe something got broken, unlike the rest of the new driver, these two functions are very difficult to unit test. I will try to reproduce this afternoon. |
@rohany I am still trying to repro this locally. in the same way. In the mean time, there is one function responsible for computing all those paths, it is here: https://github.com/nv-legate/legate.core/blob/branch-22.10/legate/driver/util.py#L285-L413 Perhaps you can do some investigation / printf-debugging on your end? |
OK I have been able to reproduce this |
@rohany can you try with this patch diff --git a/legate/driver/util.py b/legate/driver/util.py
index fafe306..e96b5ae 100644
--- a/legate/driver/util.py
+++ b/legate/driver/util.py
@@ -327,24 +327,24 @@ def get_legion_paths(legate_paths: LegatePaths) -> LegionPaths:
if legion_module is None:
legion_lib_dir = legion_dir / "lib"
for f in legion_lib_dir.iterdir():
- if legion_lib_dir.joinpath(f / "site-packages").exists():
- legion_module = legion_lib_dir / f / "site-packages"
+ if f.joinpath("site-packages").exists():
+ legion_module = f / "site-packages"
break
- legion_bin_path = legion_dir / "bin"
- legion_include_path = legion_dir / "include"
-
- return LegionPaths(
- legion_bin_path=legion_bin_path,
- legion_lib_path=legion_lib_dir,
- realm_defines_h=legion_include_path / "realm_defines.h",
- legion_defines_h=legion_include_path / "legion_defines.h",
- legion_spy_py=legion_bin_path / "legion_spy.py",
- legion_prof_py=legion_bin_path / "legion_prof.py",
- legion_python=legion_bin_path / "legion_python",
- legion_module=legion_module,
- legion_jupyter_module=legion_module,
- )
+ legion_bin_path = legion_dir / "bin"
+ legion_include_path = legion_dir / "include"
+
+ return LegionPaths(
+ legion_bin_path=legion_bin_path,
+ legion_lib_path=legion_lib_dir,
+ realm_defines_h=legion_include_path / "realm_defines.h",
+ legion_defines_h=legion_include_path / "legion_defines.h",
+ legion_spy_py=legion_bin_path / "legion_spy.py",
+ legion_prof_py=legion_bin_path / "legion_prof.py",
+ legion_python=legion_bin_path / "legion_python",
+ legion_module=legion_module,
+ legion_jupyter_module=legion_module,
+ )
raise RuntimeError("Could not determine legion paths") |
patch works for me |
@rohany can you submit a quick PR? I had to edit the installed file for the patch and I am already on a branch that is moving some related files |
Fixes nv-legate#393. This commit fixes a bug where the legate driver could not find some internal modules.
* legate/driver: fix driver legion_module path Fixes #393. This commit fixes a bug where the legate driver could not find some internal modules. * legate/driver: remove erroneous raise statement
* initial import of test driver code * consolidate some utils and types * ignore vscode workspace for now at least * parse_command_args -> parse_library_command_args * factor out colorama * Consolidate types * consolidate ui modules * consolidate system classes * get rid of driver.util * temp compat imports * probable fix for #393 * bail if legate_module cannot be determined * use singular util * use cwd for default test_root * move custom argparse action to util * fix test after merge
I installed
legate.core
using./install.py --install-dir ../install --verbose --no-build-isolation
, and when runningbin/legate
I see the error:The text was updated successfully, but these errors were encountered: