cookbook: make every staging path collision-free; restore the native toolchain
Concurrency ----------- Package variants of one recipe (llvm-native, llvm-native.dev, llvm-native.runtime) share a single target/<triple>/ directory and are cooked concurrently by the cook_jobs thread pool, but every staging path under it had a fixed name -- stage.tmp and sysroot.tmp. The variants therefore raced: one renamed or removed the shared directory while a sibling was still writing into it. Canonicalize stage dir failed at '.../stage.tmp': No such file or directory Renaming failed from '.../sysroot.tmp' to '.../sysroot': File exists llvm-native cooks clean on its own -- verified, zero errors, all three variants published -- but failed in every parallel build for this reason. It was never a compile error, which is what the earlier 'C++/pthread header gaps' note in the config misattributed. Both stage.tmp sites and the sysroot site now go through one unique_tmp_dir() helper. A pid alone cannot disambiguate (the pool is threads in one process), so a process-wide counter supplies uniqueness. Config ------ Restore gcc-native, llvm-native and rust-native to redbear-full. gcc-native was set to "ignore" and the other two were commented out as 'not needed for greeter proof'. Both forms are forbidden by AGENTS.md ABSOLUTE RULE -- NEVER DELETE, NEVER IGNORE, NEVER COMMENT OUT, and by local/AGENTS.md 'No build-excluded until ported packages': a package that does not build gets ported, not excluded. llvm-native is required, not optional -- it supplies the host LLVM dev tree that libclc and Mesa's iris/radeonsi CLC path need.
This commit is contained in:
@@ -262,10 +262,16 @@ redbear-meta = {}
|
||||
redbear-power = {}
|
||||
|
||||
# Native build toolchain (Phase 3: GCC + binutils running on redox)
|
||||
gcc-native = "ignore"
|
||||
# All four are first-class members of this target. gcc-native was set to
|
||||
# "ignore" and llvm-native/rust-native were commented out as "not needed for
|
||||
# greeter proof"; both forms are forbidden by AGENTS.md § ABSOLUTE RULE —
|
||||
# NEVER DELETE, NEVER IGNORE, NEVER COMMENT OUT and by local/AGENTS.md
|
||||
# § "No 'build-excluded until ported' packages". A package that does not build
|
||||
# gets ported, not excluded.
|
||||
gcc-native = {}
|
||||
binutils-native = {}
|
||||
# llvm-native = {} # suppressed: Redox C++/pthread header gaps; not needed for greeter proof
|
||||
# rust-native = {} # suppressed: depends on llvm-native; not needed for greeter proof
|
||||
llvm-native = {}
|
||||
rust-native = {}
|
||||
|
||||
# Desktop fonts and icons
|
||||
dejavu = {}
|
||||
|
||||
Reference in New Issue
Block a user