GNU bug report logs - #74455
gcc-toolchain and gfortran-toolchain conflict

Previous Next

Package: guix;

Reported by: Laurent Gatto <laurent.gatto <at> gmail.com>

Date: Thu, 21 Nov 2024 07:59:01 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Laurent Gatto <laurent.gatto <at> gmail.com>, 74455 <at> debbugs.gnu.org
Subject: bug#74455: gcc-toolchain and gfortran-toolchain conflict
Date: Mon, 06 Jan 2025 20:11:08 +0100
Hi,

On Thu, 21 Nov 2024 at 08:57, Laurent Gatto <laurent.gatto <at> gmail.com> wrote:

> But fails I add gfortran-toolchain *after* gcc-toolchain

That’s because both are “more or less” some GCC toolchain and provides
similar subset of files.  Here, the version of the both default
toolchains does not match (14 vs 11).  Since the profile is built using
the command line order, then depending on which one comes first, you
have one version or the other for some of these files.

And as you can see, the compiler is g++ version 14 but using files from
version 11…

--8<---------------cut here---------------start------------->8---
$ readlink -f /gnu/store/hhzpa2yx8cz92cgm7xjpd2pp6pk74g96-profile/include/c++/type_traits
/gnu/store/piai5ba5fx901hr7pwnz2b9vysrrjmlh-gfortran-11.4.0/include/c++/type_traits
--8<---------------cut here---------------end--------------->8---

…and bang!

If both are at 11, then it works as expected:

--8<---------------cut here---------------start------------->8---
$ cat main.cpp 
#include <iostream>

int main(void) {
    std::cout << __cplusplus;

    return 0;
}

$ guix time-machine -q --commit=1e6d1c3 \
       -- shell gcc-toolchain <at> 11 gfortran-toolchain \
       -- g++ --version
g++ (GCC) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ guix time-machine -q --commit=1e6d1c3 \
       -- shell gcc-toolchain <at> 11 gfortran-toolchain \
       -- g++ main.cpp && ./a.out
201703
--8<---------------cut here---------------end--------------->8---


Well, the naive question: Does it make sense to have in the same profile
some C/C++ GCC toolchain at one version and some Fortran GCC toolchain
at another version?

Depending on the answer, I guess the fix is not the same. :-)

Cheers,
simon




This bug report was last modified 164 days ago.

Previous Next


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