Commit 5f2b8af
Fix getdeps build failure on CentOS Stream 9
Summary:
The gcc14 manifest (added in D96393589) is RPM-only — it has no [git] or
[download] section. When cachelib lists it as a [dependencies] entry, getdeps
tries to create a fetcher for gcc14 during build. The fetcher checks if the
gcc-toolset-14 RPM is installed via `rpm -q`; if not, there is no fallback and
the build fails with:
KeyError: 'project gcc14 has no fetcher configuration matching ...'
The install-system-deps command uses `--skip-broken`, so if gcc-toolset-14 is
not available in the user's repos it is silently skipped, leaving the build to
fail with a confusing error.
Fix: declare gcc-toolset-14 as a system package ([rpms]) on the cachelib
manifest itself instead of pulling it in via a separate gcc14 [dependencies]
entry. This way:
- install-system-deps still installs the RPM (it collects rpms from the project
manifest).
- During build, cachelib uses its own [git] fetcher; gcc14 is no longer
resolved as a separate project so no fetcher is needed for it.
- If gcc-toolset-14 is missing, cmake fails with a clear "compiler not found"
error instead of a cryptic KeyError.
Reviewed By: rlyerly
Differential Revision: D99142094
fbshipit-source-id: 6496d4e515aa5495049f6e76e50dd6f982714b511 parent 2341342 commit 5f2b8af
1 file changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
| 33 | + | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
0 commit comments