Skip to content

CCache not found warning persists even when GGML_CCACHE is set to off #3063

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

Open
exprez135 opened this issue Apr 21, 2025 · 7 comments
Open

Comments

@exprez135
Copy link

When configuring with cmake -DGGML_CCACHE=OFF -B build, I still receive a warning Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF, which seems to come from ggml/src/CMakeLists.txt.

I'm not sure why this might be happening, as I'd expect that status message to not be printed since it's within an IF(GGML_CCACHE… statement. Do I need to be setting GGML_CCACHE elsewhere as well?

@danbev
Copy link
Collaborator

danbev commented Apr 22, 2025

Can you try using -DWHISPER_CCACHE=OFF instead which should not show the status message.

@exprez135
Copy link
Author

Yes that works, thanks. Should GGML_CCACHE be reset to ON if someone hasn't set WHISPER_CCACHE, or should the make files be changed to respect the flag?

@danbev
Copy link
Collaborator

danbev commented Apr 23, 2025

Should GGML_CCACHE be reset to ON if someone hasn't set WHISPER_CCACHE, or should the make files be changed to respect the flag?

I think that WHISPER_CCACHE should be used to control this and not GGML_CCACHE in this case, similar to how other options like WHISPER_FATAL_WARNINGS are handled.

@exprez135
Copy link
Author

So we would not want to use something like set(GGML_CCACHE ${WHISPER_CCACHE} CACHE BOOL "Enable ccache for GGML compilation")?

If I'm thinking properly, this would set GGML_CCACHE to the value of WHISPER_CCACHE, except in those cases in which the user manually passed the flag GGML_CCACHE.

Does Whisper itself use CCache at all outside of the GGML usage? While ggml/src/CMakeLists.txt has this whole warning section if it's not found, I don't see anything similar for Whisper?

@danbev
Copy link
Collaborator

danbev commented Apr 25, 2025

If I'm thinking properly, this would set GGML_CCACHE to the value of WHISPER_CCACHE, except in those cases in which the user manually passed the flag GGML_CCACHE.

I think the idea is that WHISPER_CCACHE be the single "source of truth" for this setting and it sets GGML_CCACHE. I think it is better to only have one way of doing this as it might lead to confusion about which one to use otherwise.

@exprez135
Copy link
Author

I agree that it's better to have the one source of truth. Maybe in retrospect what I'm after is really just clarity in the logs/warnings/errors, since a first-level step with the warning message would be to set GGML_CCACHE to OFF, only for it to not work. Could the warning message be changed to something that points someone to WHISPER_CCACHE directly or hints at checking for a different flag that overrides that setting? (I don't actually know what the relationship between GGML in this repository and the GGML-dedicated repo is, so maybe this is inappropriate to change here.)

@danbev
Copy link
Collaborator

danbev commented Apr 25, 2025

Could the warning message be changed to something that points someone to WHISPER_CCACHE directly or hints at checking for a different flag that overrides that setting?

Ah yes, I see your point now. Let me think about this and take a look at what could be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants