Commit 6d7c690c3730

Vincent Demeester <vincent@sbr.pm>
2026-07-28 15:47:47
fix(imperative): use /usr/bin/gcc for unscd to link system glibc
Using bare 'gcc' picks up nix's gcc after PATH is modified, linking unscd against nix's glibc which can't load libnss_sss.so. Explicit /usr/bin/gcc ensures system glibc linkage so NSS resolution works.
1 parent f4ae865
Changed files (2)
imperative
imperative/aomi/bootstrap.sh
@@ -317,7 +317,7 @@ setup_unscd() {
 	curl -sSL https://busybox.net/~vda/unscd/nscd-0.54.c -o "${tmpdir}/nscd.c"
 	# Newer glibc removed __nss_disable_nscd from headers; provide a stub
 	sed -i '/^void __nss_disable_nscd(/c\void __nss_disable_nscd(void (*hell)(size_t, struct traced_file*)) {}' "${tmpdir}/nscd.c"
-	gcc -O2 -o "${tmpdir}/unscd" "${tmpdir}/nscd.c"
+	/usr/bin/gcc -O2 -o "${tmpdir}/unscd" "${tmpdir}/nscd.c"
 	sudo install -m 755 "${tmpdir}/unscd" /usr/local/sbin/unscd
 	rm -rf "${tmpdir}"
 
imperative/kyushu/bootstrap.sh
@@ -293,7 +293,7 @@ setup_unscd() {
 	curl -sSL https://busybox.net/~vda/unscd/nscd-0.54.c -o "${tmpdir}/nscd.c"
 	# Newer glibc removed __nss_disable_nscd from headers; provide a stub
 	sed -i '/^void __nss_disable_nscd(/c\void __nss_disable_nscd(void (*hell)(size_t, struct traced_file*)) {}' "${tmpdir}/nscd.c"
-	gcc -O2 -o "${tmpdir}/unscd" "${tmpdir}/nscd.c"
+	/usr/bin/gcc -O2 -o "${tmpdir}/unscd" "${tmpdir}/nscd.c"
 	sudo install -m 755 "${tmpdir}/unscd" /usr/local/sbin/unscd
 	rm -rf "${tmpdir}"