Subject: bug#62917: [bug#73799] [PATCH] Fix 'guix shell: error: symlink: File exists: "/bin/cc"'

From: Marco Fortina <[email-masked]>
Date: Tue, 22 Oct 2024 10:49:32 +0000

This patch closes issue when running "guix shell --container --emulate-fhs clang-toolchain gcc-toolchain" or "guix shell --container --emulate-fhs clang-toolchain gcc-toolchain":

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index a219b2ac89..37f11395f9 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -464,7 +464,8 @@ (define (setup-fhs profile)
   ;; /bin since that already has the sh symlink and the other (optional) FHS
   ;; bin directories will link to /bin.
   (let ((gcc-path (string-append profile "/bin/gcc")))
-    (if (file-exists? gcc-path)
+    (if (and (file-exists? gcc-path)
+             (not (file-exists? "/bin/cc")))
         (symlink gcc-path "/bin/cc")))

   ;; Guix's ldconfig doesn't search in FHS default locations, so provide a

Cheers,
Marco