-
Notifications
You must be signed in to change notification settings - Fork 18
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
Windows: Build success but python cannot load SIRF #729
Comments
The environment variables PATHMy
PYTHONPATH
|
@paskino You probably need to add |
@paskino regarding MR (and some SYN) tests: can you not run Gadgetron on SIRF VM? |
Thanks @evgueni-ovtchinnikov , I tried to add to PATH with
but still get the same error. |
I think you have to compare your 2 paths from within python, as it'll change where it finds DLLs compare to where the executable finds them. I still think it's a conflict between the HDF5/FFTW/Boost library used by SIRF and the ones installed by conda and hence used by conda's python. See also https://bugs.python.org/issue43173 for some info on where it finds DLLs |
Just to be clear, I did not install HDF5, FFTW or Boost with conda
|
|
I made some progress, installing SIRF directly in the conda environment!
Now the unittest fail trying to load a file, although the file in question exists in the appropriate directory.
|
and |
great. Are these lines the only difference?
The file-not-found seems to be due to backslash issues (unless it's really not there). Likely the file-ath is the output of the following
What's the return value of
configured at SIRF-SuperBuild/env_sirf.PS1.in Line 7 in c19d134
|
Looks like that installing in the conda environment works.
|
ah, you forgot to source the |
No, I did not use PowerShell, rather command prompt. So I had added the environment variables by hand. |
ok, but what were there values then? Is there a difference in what they should be between PS and CMD? Also, is the same cause for your original problems (i.e. do yo really have to install in the conda dirs?) |
Yes, outside of conda dirs neither PowerShell, nor CMD worked. I had an issue with setting the path with set SIRF_PATH=C:/Users/ofn77899/Dev/buildVC3/sources/SIRF
set SIRF_INSTALL_PATH=C:\Apps\miniconda3\envs\sirf_b3
ctest -C Release -R PET_ --output-on-failure
Test project C:/Users/ofn77899/Dev/buildVC3/builds/SIRF/build
Start 9: PET_TESTS_CPLUSPLUS_1
1/5 Test #9: PET_TESTS_CPLUSPLUS_1 ............ Passed 56.74 sec
Start 10: PET_TESTS_CPLUSPLUS_4
2/5 Test #10: PET_TESTS_CPLUSPLUS_4 ............ Passed 63.69 sec
Start 11: PET_TESTS_PYTHON
3/5 Test #11: PET_TESTS_PYTHON ................. Passed 105.89 sec
Start 12: PET_PYTHON_ALGEBRA
4/5 Test #12: PET_PYTHON_ALGEBRA ............... Passed 9.77 sec
Start 13: PET_PYTHON_OBJFUN
5/5 Test #13: PET_PYTHON_OBJFUN ................ Passed 1.84 sec
100% tests passed, 0 tests failed out of 5
Total Test time (real) = 760.05 sec |
ok. could make a I think this indicates we do miss something in our |
Aside from that, if you go the conda way, I would highly recommend using |
I've just read here that
Indeed, in my tests I'm using python 3.10. This would explain all my failed attempts in using environment variables. https://docs.python.org/3/library/os.html#os.add_dll_directory |
Some more discussion on Python |
that |
I built locally on Windows10 with VS community edition and NVIDIA SDK.
After sourcing the
env_sirf.PS1
environment file on PowerShell, I can run SIRF C++ unit tests (excluding the MR tests as I haven't built Gadgetron)which outputs:
All unit tests involving python
ctest -v --output-on-failure -R PYTHON -E MR -C Release
fail withAll output here
The text was updated successfully, but these errors were encountered: