GNU bug report logs - #73799
guix shell: error: symlink: File exists: "/bin/cc"

Previous Next

Package: guix;

Reported by: Marco Fortina <marco_fortina <at> hotmail.it>

Date: Mon, 14 Oct 2024 02:48:02 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#73799: closed (guix shell: error: symlink: File exists:
 "/bin/cc")
Date: Sun, 10 Nov 2024 23:28:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 11 Nov 2024 00:26:59 +0100
with message-id <87ldxqvfek.fsf <at> gnu.org>
and subject line Re: bug#73799: guix shell: error: symlink: File exists: "/bin/cc"
has caused the debbugs.gnu.org bug report #73799,
regarding guix shell: error: symlink: File exists: "/bin/cc"
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
73799: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73799
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Marco Fortina <marco_fortina <at> hotmail.it>
To: "bug-guix <at> gnu.org" <bug-guix <at> gnu.org>
Subject: guix shell: error: symlink: File exists: "/bin/cc"
Date: Sun, 13 Oct 2024 23:11:30 +0000
[Message part 3 (text/plain, inline)]
Hello there.

I have this issue when with guix time-machine shell when using --emulate-fhs option and having gcc-toolset and clang-toolset in my manifest.scm.

I this this could be solved with this patch:

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 9f851a478e..7a276569e9 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -512,8 +512,10 @@ (define-public (make-clang-toolchain clang libomp)
                      ;; Create 'cc' and 'c++' so that one can use it as a
                      ;; drop-in replacement for the default tool chain and
                      ;; have configure scripts find the compiler.
-                     (symlink "clang" (string-append out "/bin/cc"))
-                     (symlink "clang++" (string-append out "/bin/c++"))
+                     (unless (file-exists? "/bin/cc")
+                         (symlink "clang" (string-append out "/bin/cc")))
+                     (unless (file-exists? "/bin/c++")
+                         (symlink "clang++" (string-append out "/bin/c++")))

                      (union-build (assoc-ref %outputs "debug")
                                   (list (assoc-ref %build-inputs
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index a219b2ac89..72e56367a8 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -465,7 +465,8 @@ (define* (link-contents dir #:key (exclude '()))
   ;; bin directories will link to /bin.
   (let ((gcc-path (string-append profile "/bin/gcc")))
     (if (file-exists? gcc-path)
-        (symlink gcc-path "/bin/cc")))
+        (unless (file-exists? "/bin/cc")
+            (symlink gcc-path "/bin/cc"))))

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


This patch will create the symlinks only if destination files is not already present.

Thanks
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Marco Fortina <marco_fortina <at> hotmail.it>
Cc: 73799-done <at> debbugs.gnu.org
Subject: Re: bug#73799: guix shell: error: symlink: File exists: "/bin/cc"
Date: Mon, 11 Nov 2024 00:26:59 +0100
Marco Fortina <marco_fortina <at> hotmail.it> skribis:

> I have this issue when with guix time-machine shell when using --emulate-fhs option and having gcc-toolset and clang-toolset in my manifest.scm.

This was fixed in 23ab6fc29f28b0fa9ad94bf2ceed135ee3fdea34, based on the
patch you sent.

Closing.

Ludo’.


This bug report was last modified 249 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.