-
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
Remove run-export of librmm. #1673
Conversation
It would be nice to switch stuff to the Practicality beats purity, and we definitely should not wait on the |
I am writing up some further concerns with this from conversations with @wence- — marking as do not merge for now. |
I discussed this offline with @wence- and we had a few observations. Summarizing here:
|
Closing this as I do not see an immediate action item. librmm will continue to act as an ABI constraint package at runtime. |
Description
librmm has a run export on itself, which is not correct since it is header-only and therefore should impose no runtime requirement. See associated issue: rapidsai/build-planning#92
This self-run-export was originally added to make librmm suitable for use in a downstream "dev" package (which includes all of its "dev" dependencies) but in practice it has caused a lot of problems. For example, this indirectly requires
spdlog
andfmt
to be present in all environments using rmm/librmm even if those headers are not needed in a runtime environment (only in a build environment). We plan to eventually expose RAPIDS-dev
packages (see rapidsai/build-planning#46) which will solve this problem more cleanly.Helps with rapidsai/build-planning#56.
We've discussed this as being a bug in rapidsai/build-planning#92, and it seems to have negative effects seen in rapidsai/cuspatial#1453 (comment) (despite us having other workarounds in that case). This change could be briefly disruptive to RAPIDS CI if we have downstream bugs (where we should've listed librmm in build/host requirements but did not do so) so I have marked it as
breaking
.Checklist