cccl icon indicating copy to clipboard operation
cccl copied to clipboard

update contributing docs prereqs

Open ZelboK opened this issue 1 year ago • 5 comments

Attempting to build CCCL without sccache installed will lead to Notice: sccache is not available. Skipping... .

I personally run into troubles with devcontainers which is how I discovered this when trying to build locally.

ZelboK avatar Aug 01 '24 19:08 ZelboK

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

copy-pr-bot[bot] avatar Aug 01 '24 19:08 copy-pr-bot[bot]

I personally run into troubles with devcontainers which is how I discovered this when trying to build locally.

Can you elaborate on what troubles you've run into? We want to make sure our devcontainers are incredibly easy to use.

In general, I'm reluctant to start trying to separately document what prerequisites are required for building/running tests because I know that documentation will instantly be out of date. I want our containers to be the source of truth and to make it so easy to use them that there's no reason not to.

All that said, our builds shouldn't require sccache.

Notice: sccache is not available. Skipping...

Is this an error that causes the build to fail? Or is it just a notice?

jrhemstad avatar Aug 01 '24 19:08 jrhemstad

Can you elaborate on what troubles you've run into? We want to make sure our devcontainers are incredibly easy to use. I have some leftover screenshots I'll share

image This one repeatedly pops up. Pressing rebuild makes it go away for a second until it comes right back. I had to set this one to "always ignore".

image This only shows up on the devcontainers, which is interesting because it is actually showing my windows path there(I use WSL).

And most importantly is the intellisense is just not functional. It doesn't do anything. This one is the biggest reason I don't use the devcontainers anymore because I rely on intellisense to be able to take me to a declaration when I ctrl+click something. I get no error highlighting or anything(this one I don't mind though)

In general, I'm reluctant to start trying to separately document what prerequisites are required for building/running tests because I know that documentation will instantly be out of date. I want our containers to be the source of truth and to make it so easy to use them that there's no reason not to.

Oh I never thought about it like that. I actually really like that approach.

All that said, our builds shouldn't require sccache. Is this an error that causes the build to fail? Or is it just a notice?

The build script does a complete stop when it runs into that, so it won't even try building anything. Does so quite early on. I was about to make an issue for this but wasn't sure if it was a hard requirement so I made a PR instead.

Also I've built the habit of mostly relying on the terminal now but I did try building with targets in preset(in hopes it would fix something) and ran into this problem.

PermissionDenied (permanent) at stat => no valid credential found and anonymous access is not allowed
[cmake]     
[cmake]     Context:
[cmake]        service: s3
[cmake]        path: .sccache_check

ZelboK avatar Aug 01 '24 20:08 ZelboK

@ZelboK thanks for the detailed feedback! I think it should be pretty easy to smooth out these issues for you.

For the devcontainer.json changes popup, that will only show up if the devcontainer.json file has changed since you last built the container. That means the container you're running is different from how it is defined in the devcontainer.json file.

And most importantly is the intellisense is just not functional. It doesn't do anything.

That's because you need to install clangd as the pop up suggested :)

vscode's built-in intellisense isn't very good compared to clangd, so that's why we use clangd instead.

jrhemstad avatar Aug 06 '24 15:08 jrhemstad

That's because you need to install clangd as the pop up suggested :)

Sorry I just realized I didn't clarify this in the previous comment - installing it didn't get it go away. It repeatedly returned. I mentioned this on the discord server and didn't realize I didn't mention it here that both pop ups just keep re-appearing.

With that being said, I think I noticed a bug in the devcontainers where they weren't pointing to the right directory for clangd.

https://github.com/NVIDIA/cccl/pull/2193

^ I put in a small fix here for the devcontainer I was using(confirmed that it is working now) and of which I presume Michael had seen, and just did it across all devcontainers here https://github.com/NVIDIA/cccl/pull/2194 . So this bug shold be fixed. I am now using devcontainers just fine.

ZelboK avatar Aug 06 '24 16:08 ZelboK

I believe we've fixed our scripts to that sccache is optional. If you're still encountering issues, please file an issue for this -- we don't want sccache to be a hard dependency.

alliepiper avatar Oct 29 '25 14:10 alliepiper