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

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 15 Dec 2024 13:36:01 +0900

Hi Marco,

Marco Fortina <[email-masked]> writes:

> 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

I see Ludovic pushed a variant of the above fix with
23ab6fc29f28b0fa9ad94bf2ceed135ee3fdea34, and attributed your discovery
of the problem.

Good.  Thanks for the report and patch!

-- 
Thanks,
Maxim