4fac89eec4
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.