* bug#73799: guix shell: error: symlink: File exists: "/bin/cc"
[not found] <AS8PR10MB5829AF53C13124EA2834134CF77B2@AS8PR10MB5829.EURPRD10.PROD.OUTLOOK.COM>
@ 2024-10-13 23:11 ` Marco Fortina
2024-10-14 19:13 ` Rutherther via Bug reports for GNU Guix
2024-11-10 23:26 ` Ludovic Courtès
0 siblings, 2 replies; 3+ messages in thread
From: Marco Fortina @ 2024-10-13 23:11 UTC (permalink / raw)
To: 73799
[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]
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
[-- Attachment #2: Type: text/html, Size: 7679 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#73799: guix shell: error: symlink: File exists: "/bin/cc"
2024-10-13 23:11 ` bug#73799: guix shell: error: symlink: File exists: "/bin/cc" Marco Fortina
@ 2024-10-14 19:13 ` Rutherther via Bug reports for GNU Guix
2024-11-10 23:26 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Rutherther via Bug reports for GNU Guix @ 2024-10-14 19:13 UTC (permalink / raw)
To: 73799; +Cc: Marco Fortina
Hey Marco,
that llvm.scm change is actually irrelevant to the problem. There
will never be cc in the llvm package itself before the condition.
It occurs prior to the profile merging.
There is no fhs in that case
so checking for /bin/cc does not make sense, moreover
it could pose a problem if one built without a sandbox
on a foreign distro. Then the package output could differ
because /bin/gcc or /bin/c++ exist.
As for the change in environment.scm, that is indeed
what causes the issue.
Since there is an if already, maybe it would make sense to
not introduce another condition statement, but to extend
the existing if?
Regards,
Rutherther
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#73799: guix shell: error: symlink: File exists: "/bin/cc"
2024-10-13 23:11 ` bug#73799: guix shell: error: symlink: File exists: "/bin/cc" Marco Fortina
2024-10-14 19:13 ` Rutherther via Bug reports for GNU Guix
@ 2024-11-10 23:26 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2024-11-10 23:26 UTC (permalink / raw)
To: Marco Fortina; +Cc: 73799-done
Marco Fortina <marco_fortina@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’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-11-10 23:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <AS8PR10MB5829AF53C13124EA2834134CF77B2@AS8PR10MB5829.EURPRD10.PROD.OUTLOOK.COM>
2024-10-13 23:11 ` bug#73799: guix shell: error: symlink: File exists: "/bin/cc" Marco Fortina
2024-10-14 19:13 ` Rutherther via Bug reports for GNU Guix
2024-11-10 23:26 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).