[konsole] [Bug 432639] Konsole needs gcc > 8.3 (fully supporting C++17) for for_each_n function
bugzilla_noreply at kde.org
bugzilla_noreply at kde.org
Mon Feb 8 12:55:47 GMT 2021
https://bugs.kde.org/show_bug.cgi?id=432639
--- Comment #1 from tcanabrava at kde.org ---
can you provide a patch?
c++17 is 4 years old and I don't really like to fix compiler bugs, even
though I know that gcc 8.4 was released just last year and that's not a lot
of time for linux distros to pick it up.
On Mon, Feb 8, 2021 at 12:48 PM <bugzilla_noreply at kde.org> wrote:
> https://bugs.kde.org/show_bug.cgi?id=432639
>
> Bug ID: 432639
> Summary: Konsole needs gcc > 8.3 (fully supporting C++17) for
> for_each_n function
> Product: konsole
> Version: master
> Platform: Compiled Sources
> OS: Linux
> Status: REPORTED
> Severity: normal
> Priority: NOR
> Component: general
> Assignee: konsole-devel at kde.org
> Reporter: rcorreia31 at gmail.com
> Target Milestone: ---
>
> SUMMARY
> By default CentOS 8.3 uses gcc 8.3.1.
> Konsole from master now fails due to this error:
> /media/MyPassport/git/konsole/src/Screen.cpp: In function 'void
> toDebug(const
> Konsole::Character*, int, bool)':
> /media/MyPassport/git/konsole/src/Screen.cpp:394:10: error: 'for_each_n'
> is not
> a member of 'std'
> std::for_each_n(s, count, [&out](const Character &i) { out +=
> i.character;
> });
> ^~~~~~~~~~
> /media/MyPassport/git/konsole/src/Screen.cpp:394:10: note: suggested
> alternative: 'for_each'
> std::for_each_n(s, count, [&out](const Character &i) { out +=
> i.character;
> });
> ^~~~~~~~~~
> for_each
>
> To be able to compile, another tool chain fully supporting C++17 must be
> installed and enabled: dnf install gcc-toolset-10-toolchain (or
> gcc-toolset-9-toolchain).
> Then all compiles well.
> This is the first time this requirement appears for KDE from what I can
> tell.
>
> A link about that: https://github.com/VcDevel/Vc/issues/182
>
> Even if this is easily fixed with a newer toolchain, it will cause some
> questions.
>
> STEPS TO REPRODUCE
> 1. cmake
> 2. make
>
> OBSERVED RESULT
> Compilation error:
> /git/konsole/src/Screen.cpp:394:10: error: 'for_each_n' is not a member of
> 'std'
> /git/konsole/src/Screen.cpp:394:10: note: suggested alternative: 'for_each'
>
> EXPECTED RESULT
> Change to a source code allowing a successful compilation with gcc 8.3.x
> or add
> a cmake check explaining this new requirement (dnf install
> gcc-toolset-10-toolchain or dnf install gcc-toolset-9-toolchain).
>
> SOFTWARE/OS VERSIONS
> KDE Plasma Version: 5.20.2
> KDE Frameworks Version: 5.76.0
> Qt Version: 5.15.1
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the konsole-devel
mailing list