-
Notifications
You must be signed in to change notification settings - Fork 201
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
[BUG] rmm v22.12 does not build from source #584
Comments
Building
I managed to build and install rmm in a virtual env. with :
The Line 137 in 8005ca5
LIBRARY_PATH as quick fix.
|
@ccoulombe the As of 0.16 RMM is now header only so there's no longer a need to find Any chance you could try 0.16 and see if your issues are resolved? |
@kkraus14 Yes, I can try 0.16 but I'll first need to install cmake >= v0.17 locally. I went for the stable tagged released version instead of the head of the main branch. I'll let you know |
Something seems odd to me. In 0.15, spdlog is fetched via FetchContent. I just tried, and it works as intended for me:
spdlog is present after unning cmake: root@86b0f1e3d9fb:~/src/ttt/rmm# ls build/_deps/
cnmem-build cnmem-src cnmem-subbuild spdlog-build spdlog-src spdlog-subbuild thrust-build thrust-src thrust-subbuild I'm not quite sure what could have gone wrong for @ccoulombe, unfortunately. |
Well, yes I agree @germasch , spdlog is in The include_dirs in setup.py should include the location of Line 83 in 8005ca5
Note : this directory does not even exists in the build directory.
Or am I missing something? (I am no cmake knowledgable human). Like spdlog include is not added or actually excluded? Line 34 in 8005ca5
|
I see, I didn't realize you the error during the python part of the build. That makes more sense now.
Yeah, so this used to be an issue -- the C++ rmm would include spdlog during its build, but then during the python build, it would rely on a separately installed spdlog, usually provided by conda. In 0.16, the C++ rmm will check whether spdlog is already available, and if so, use it, rather than downloading its own copy. If it is not available, it will download spdlog, and install it together with rmm. This is pending PR #580 being merged. But even in that case, I'll look at whether this will work correctly in the pyhon part of the build, I have a feeling there's still a piece missing to make that work. |
@ccoulombe, what likely happened is that you somehow ended up installing spdlog somewhere where cmake now finds it, and that then does also resolve the issue of finding spdlog during the python build. You wouldn't get the message
unless |
@ccoulombe @germasch #588 has been merged. Can you verify whether or not it fixes this issue? |
#588 should fix the python build to find spdlog if it has been fetched during the librmm (C++) build (it does for me). It may still not fix @ccoulombe's original issue, which comes from the fact that he installed spdlog locally, and then told cmake about it (by setting I don't think there's an easy solution, but @kkraus14 said there's a plan to look into scikit-build, which may (hopefully, but I don't know) improve on that situation. Right now, there are basically three scenarios:
|
0.16 release is currently in process where the code is frozen but packages haven't quite been released yet. |
@ccoulombe Thanks for the update. I will close this issue now. Please comment or reopen if there's still a problem. |
I am reopening this as v22.12 does not build without #1146 fixes this but if one would be warn directly from the setup that could be better as well. |
In the future, please open a new issue. Especially since this is a very different issue from the old one. |
Describe the bug
Latest stable version (v0.15) does not build from source as it is missing a dependency.
SPDlog is not fetched hence causing build failure. It is also missing from listed/known dependencies: https://github.com/rapidsai/rmm/blob/v0.15.0/README.md#get-rmm-dependencies
Steps/Code to reproduce bug
Expected behavior
Build, fetch missing dependencies, install, all successfully
This PR #580 reference SPDLog as a dep but it should still be listed.
The text was updated successfully, but these errors were encountered: