I was surprised the sys-devel/gcc/gcc-7.3.0-r6 is out of portage since https://github.com/gentoo/gentoo/commit/242ab93fca9d6a746bf5eb5ba6c351d10997b0db The gcc-7.3 version is required for Gentoo on Nvidia Tegra based devices: https://developer.nvidia.com/embedded/linux-tegra I used gcc-7.3.0-r6 to cross-compile the Gentoo on Nintendo Switch. Please reinstate this gcc version if there is no reason to remove it. Reproducible: Always
(In reply to Alexander Weber from comment #0) > I was surprised the sys-devel/gcc/gcc-7.3.0-r6 is out of portage since > https://github.com/gentoo/gentoo/commit/ > 242ab93fca9d6a746bf5eb5ba6c351d10997b0db > > The gcc-7.3 version is required for Gentoo on Nvidia Tegra based devices: > https://developer.nvidia.com/embedded/linux-tegra > > I used gcc-7.3.0-r6 to cross-compile the Gentoo on Nintendo Switch. Please > reinstate this gcc version if there is no reason to remove it. > > Reproducible: Always Why gcc-9.2.0, gcc-8.3.0, gcc-7.5.0 or even gcc-7.4.0 does not work for you?
The reason why not GCC-8 or GCC-9 is Nvidia's display driver. If you build with X with later gcc, or build any version of X that isnt 1.19.7 it doesnt work, or causes unexpected issues. Mainly the reason for GCC-7, Is for cuda support.
Anything past gcc-7.3 breaks support for cuda, anything past gcc-7.5 causes issues with NvGPU Driver. Unfortunatly we cant fix this, as it is a binary blob required by L4T kernel for GPU use. Nouveau doesnt work unless you go mainline, in which case you loose support for most of the other hardware(Audio, proper frequency scaling, USB, and Sleep Mode being the big ones.)
(In reply to rbrown4014 from comment #2) > The reason why not GCC-8 or GCC-9 is Nvidia's display driver. If you build > with X with later gcc, or build any version of X that isnt 1.19.7 it doesnt > work, or causes unexpected issues. This is too vague. What "doesnt work" mean? Given that X is written in C why gcc version matter here? > Mainly the reason for GCC-7, Is for cuda support. How does cuda tie to gcc version? Does it link to some specific libraries gcc provides? Which ones? (In reply to rbrown4014 from comment #3) > Anything past gcc-7.3 breaks support for cuda What does it mean? Build-time failures? Runtime failures? > anything past gcc-7.5 causes issues with NvGPU Driver. What does it mean? Build-time failures? Runtime failures? > Unfortunatly we cant fix this, as it is a binary > blob required by L4T kernel for GPU use. Nouveau doesnt work unless you go > mainline, in which case you loose support for most of the other > hardware(Audio, proper frequency scaling, USB, and Sleep Mode being the big > ones.) Given it's a blob why gcc version matters at all here? What is actually being relied on from gcc here?
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=758cedddf2141be73103ef43ae12ab68fddc8330 commit 758cedddf2141be73103ef43ae12ab68fddc8330 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-11-24 19:07:51 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-11-24 19:14:45 +0000 sys-devel/gcc: restore 7.3.0-r6, bug #701050 This reverts commit 242ab93fca9d6a746bf5eb5ba6c351d10997b0db. In bug #701050 users claim that gcc-7.3.0 is the only working version that works. It's not clear why yet. Let's restore it for the time being. While at it bump up to EAPI=7. Bug: https://bugs.gentoo.org/701050 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/gcc/Manifest | 2 ++ sys-devel/gcc/gcc-7.3.0-r6.ebuild | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+)
Thanks for giving back the 7.3.0-r6. I do start to recompile a copy of my system for testing reason with GCC-9.2 to run into errors I can report here. But that can take some days in qemu-chroot + distcc-crosscompiler.
In my previous tests with GCC-8 they was additional KCFLAGS="-Wno-error=stringop-truncation -Wno-error=stringop-overflow" needed to get the L4T-Kernel compiled. The issue is Nvidia did tested only against- and supports only the gcc-7.3.
(In reply to Alexander Weber from comment #7) > In my previous tests with GCC-8 they was additional > KCFLAGS="-Wno-error=stringop-truncation -Wno-error=stringop-overflow" needed > to get the L4T-Kernel compiled. If the only problem is a few '-Werror's then there is no reason keeping gcc-7.3 in tree. gcc-7 is a single gcc branch that should not have any major changes (like new warnings). I still don't see why gcc-7.4.0 or gcc-7.5.0 does not work for you as-is. > The issue is Nvidia did tested only against- and supports only the gcc-7.3. If vendor does not even support gcc-7 branch and has no plans to support newer compilers then this port will deteriorate very quickly.
I plan to remove gcc-7.3.0 in favour of gcc-7.5.0.
After ths report I recompiled my gentoo for Nintendo Switch using gcc-9.2. All is working fine. The Issues reported by rbrown4014@yahoo.com are, as I understand now, with software not in Gentoo Portage. For me it is ok if gcc-7.3 is removed from portage for now. We can copy the version to our overlay to be save.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=111ef711be07898a8aa27e4ec1f789d867258eb7 commit 111ef711be07898a8aa27e4ec1f789d867258eb7 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-12-24 10:33:58 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-12-24 10:33:58 +0000 sys-devel/gcc: drop 7.3.0-r6 again Closes: https://bugs.gentoo.org/701050 Package-Manager: Portage-2.3.82, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> sys-devel/gcc/Manifest | 2 -- sys-devel/gcc/gcc-7.3.0-r6.ebuild | 19 ------------------- 2 files changed, 21 deletions(-)
Dropped 7.3.0-r6. I'm willing to help resolving any issues that arise when using gcc-7.4.0/gcc-7.5.0 compared to gcc-7.3.0. But I expect none.