View Revisions: Issue #4874

Summary 0004874: Compile error with gcc-7 (and gcc-8)
Revision 10.09.2018 06:31 by greebo
Description Reported in Debian as bug #897734, https://bugs.debian.org/897734 - see there for the complete thread.
I'm not sure if the patch provided at the Debian BTS is suitable for you, I did not test if that breaks earlier gcc versions but I guess that is likely; I'll attach it nevertheless.

Summary / Analysis copied from the Debian BTS:

In the new libstdc++-8-dev, the standard header <filesystem> from C++17 is available,
whereas earlier libstdc++'s only had <experimental/filesystem>.
DarkRadiant's build system thinks it can use either the <filesystem> or <experimental/filesystem>
header, but only the experimental version will work because of two reasons:

 1) to use <filesystem>, g++ requires -std=c++17 or gnu++17, which the build system doesn't set

 2) the headers actually have different APIs
    (e.g. there is add_perms in [1], but not in [2])

Revision 26.07.2018 07:02 by coldtobi
Description Reported in Debian as bug #897734, https://bugs.debian.org/897734, see there for the complete thread.
I'm not sure if the patch provided at the Debian BTS is suitable for you, I did not test if that breaks earlier gcc versions but I guess that is likely; I'll attach it nevertheless.

Summary / Analysis copied from the Debian BTS:

In the new libstdc++-8-dev, the standard header <filesystem> from C++17 is available,
whereas earlier libstdc++'s only had <experimental/filesystem>.
DarkRadiant's build system thinks it can use either the <filesystem> or <experimental/filesystem>
header, but only the experimental version will work because of two reasons:

 1) to use <filesystem>, g++ requires -std=c++17 or gnu++17, which the build system doesn't set

 2) the headers actually have different APIs
    (e.g. there is add_perms in [1], but not in [2])