-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
Pass through --sysroot
to host compiler
#185
Pass through --sysroot
to host compiler
#185
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the contribution.
Note we might need move it to feature based configuration in the future if some host compilers use different option name for sysroot, for now, lets keep it simple and stupid.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rules_cuda](https://togithub.com/bazel-contrib/rules_cuda) | http_archive | patch | `v0.2.1` -> `v0.2.2` | --- ### Release Notes <details> <summary>bazel-contrib/rules_cuda (rules_cuda)</summary> ### [`v0.2.2`](https://togithub.com/bazel-contrib/rules_cuda/releases/tag/v0.2.2) [Compare Source](https://togithub.com/bazel-contrib/rules_cuda/compare/v0.2.1...v0.2.2) #### `WORKSPACE` code ```starlark load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "rules_cuda", sha256 = "b066750579f33e93e9dc55b8ee2067b525d863c1ddcf09b47a6332c39f0701fb", strip_prefix = "rules_cuda-v0.2.2", urls = ["https://github.com/bazel-contrib/rules_cuda/releases/download/v0.2.2/rules_cuda-v0.2.2.tar.gz"], ) load("@​rules_cuda//cuda:repositories.bzl", "register_detected_cuda_toolchains", "rules_cuda_dependencies") rules_cuda_dependencies() register_detected_cuda_toolchains() ``` #### What's Changed - Filter attrs properly for cuda_test by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/180](https://togithub.com/bazel-contrib/rules_cuda/pull/180) - Fix cuda_test by [@​hofbi](https://togithub.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/181](https://togithub.com/bazel-contrib/rules_cuda/pull/181) - Add v0.2.1 to docs by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/184](https://togithub.com/bazel-contrib/rules_cuda/pull/184) - Pass through `--sysroot` to host compiler by [@​lalten](https://togithub.com/lalten) in [https://github.com/bazel-contrib/rules_cuda/pull/185](https://togithub.com/bazel-contrib/rules_cuda/pull/185) - Add cuda_binary macro by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/186](https://togithub.com/bazel-contrib/rules_cuda/pull/186) - Move non glob files out of glob by [@​hofbi](https://togithub.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/192](https://togithub.com/bazel-contrib/rules_cuda/pull/192) - Disallow autoupdate nccl by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/193](https://togithub.com/bazel-contrib/rules_cuda/pull/193) - eliminate cpu architecture constraint for clang by [@​dmellosanjay](https://togithub.com/dmellosanjay) in [https://github.com/bazel-contrib/rules_cuda/pull/208](https://togithub.com/bazel-contrib/rules_cuda/pull/208) - Check nvcc version before adding `--dopt on` flags by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/212](https://togithub.com/bazel-contrib/rules_cuda/pull/212) - Add alwayslink to cuda_binary and cuda_test macros by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/210](https://togithub.com/bazel-contrib/rules_cuda/pull/210) - Add additional tests for LTS releases by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/215](https://togithub.com/bazel-contrib/rules_cuda/pull/215) - Fix cquery-ing with cuda targets by [@​mvukov](https://togithub.com/mvukov) in [https://github.com/bazel-contrib/rules_cuda/pull/209](https://togithub.com/bazel-contrib/rules_cuda/pull/209) - Propose new solution for know issue (nvcc filesystem race condition) by [@​hofbi](https://togithub.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/216](https://togithub.com/bazel-contrib/rules_cuda/pull/216) - Fix a typo in `if_cuda` doc by [@​rygx](https://togithub.com/rygx) in [https://github.com/bazel-contrib/rules_cuda/pull/222](https://togithub.com/bazel-contrib/rules_cuda/pull/222) - Ignore MODULE.bazel.lock file by [@​rygx](https://togithub.com/rygx) in [https://github.com/bazel-contrib/rules_cuda/pull/224](https://togithub.com/bazel-contrib/rules_cuda/pull/224) - ci: avoid nvcc /tmp race condition by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/232](https://togithub.com/bazel-contrib/rules_cuda/pull/232) - ci: disable doc test workflow cache to avoid excessive space wasting by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/231](https://togithub.com/bazel-contrib/rules_cuda/pull/231) - feat: Add features for compiling with -arch=all or -arch=all-major by [@​jsharpe](https://togithub.com/jsharpe) in [https://github.com/bazel-contrib/rules_cuda/pull/245](https://togithub.com/bazel-contrib/rules_cuda/pull/245) - Fix spelling by [@​Vertexwahn](https://togithub.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/250](https://togithub.com/bazel-contrib/rules_cuda/pull/250) - Change example rules_cuda version by [@​Vertexwahn](https://togithub.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/249](https://togithub.com/bazel-contrib/rules_cuda/pull/249) - Document how to use rules_cuda with Bzlmod by [@​Vertexwahn](https://togithub.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/252](https://togithub.com/bazel-contrib/rules_cuda/pull/252) - Do not assume libcupti.so location by [@​tyb0807](https://togithub.com/tyb0807) in [https://github.com/bazel-contrib/rules_cuda/pull/253](https://togithub.com/bazel-contrib/rules_cuda/pull/253) - ci: use absolute path for XDG_CACHE_HOME as github actions and bazel doesn't resolve `~` automatically by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/260](https://togithub.com/bazel-contrib/rules_cuda/pull/260) - ci: cover major bazel releases in utilities tests by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/262](https://togithub.com/bazel-contrib/rules_cuda/pull/262) - test: workaround label resolving with bzlmod by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/263](https://togithub.com/bazel-contrib/rules_cuda/pull/263) - fix(bzlmod): allow both root module and our module to call cuda.local_toolchain by [@​cloudhan](https://togithub.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/264](https://togithub.com/bazel-contrib/rules_cuda/pull/264) #### New Contributors - [@​dmellosanjay](https://togithub.com/dmellosanjay) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/208](https://togithub.com/bazel-contrib/rules_cuda/pull/208) - [@​mvukov](https://togithub.com/mvukov) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/209](https://togithub.com/bazel-contrib/rules_cuda/pull/209) - [@​rygx](https://togithub.com/rygx) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/222](https://togithub.com/bazel-contrib/rules_cuda/pull/222) - [@​Vertexwahn](https://togithub.com/Vertexwahn) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/250](https://togithub.com/bazel-contrib/rules_cuda/pull/250) - [@​tyb0807](https://togithub.com/tyb0807) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/253](https://togithub.com/bazel-contrib/rules_cuda/pull/253) **Full Changelog**: bazel-contrib/rules_cuda@v0.2.1...v0.2.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/secretflow/spu). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Does that mean doing something like this and pass all the flags that are passed to the host compiler through |
nvcc shells out to the host compiler, but does not set the
--sysroot
option. In the case of a hermetic cc_toolchain the host compiler will then fail to find the system includes.See https://github.com/lalten/mre_rules_cuda-sysroot/tree/main for a demonstration
See discussion on Bazel Slack: https://bazelbuild.slack.com/archives/C043E282KUG/p1698396425839079