https://bugs.gentoo.org/934532 https://bugs.gentoo.org/939024 Ordering of includes is important, so we don't redefine "clamp" from under STL internals: https://en.cppreference.com/w/cpp/algorithm/clamp takes four args but clamp in ext2fs.h takes three diff -ur a/src/directories.cc b/src/directories.cc --- a/src/directories.cc 2024-12-30 14:12:51.353812001 +0400 +++ b/src/directories.cc 2024-12-30 14:13:51.472524523 +0400 @@ -21,6 +21,10 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#include +#include +#include + #ifndef USE_PCH #include "sys.h" #include "ext3.h" @@ -33,9 +37,6 @@ #include "indirect_blocks.h" #include "get_block.h" #include "directories.h" -#include -#include -#include //----------------------------------------------------------------------------- // diff -ur a/src/init_files.cc b/src/init_files.cc --- a/src/init_files.cc 2024-12-30 14:12:51.353812001 +0400 +++ b/src/init_files.cc 2024-12-30 14:13:37.823593692 +0400 @@ -21,6 +21,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#include + #ifndef USE_PCH #include "sys.h" #include @@ -33,7 +35,6 @@ #include "globals.h" #include "forward_declarations.h" #include "journal.h" -#include //----------------------------------------------------------------------------- // diff -ur a/src/journal.cc b/src/journal.cc --- a/src/journal.cc 2024-12-30 14:12:51.353812001 +0400 +++ b/src/journal.cc 2024-12-30 14:14:07.808441493 +0400 @@ -21,6 +21,9 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +#include +#include + #ifndef USE_PCH #include "sys.h" #include @@ -37,8 +40,6 @@ #include "indirect_blocks.h" #include "get_block.h" #include "commandline.h" -#include -#include //----------------------------------------------------------------------------- // It throws warning - we already define LARGEFILE on Gentoo, so let's not redefine diff -ur a/src/sys.h.in b/src/sys.h.in --- a/src/sys.h.in 2024-12-30 14:12:51.353812001 +0400 +++ b/src/sys.h.in 2024-12-30 14:24:36.796244569 +0400 @@ -31,7 +31,9 @@ #endif // This is needed for lseek64. +#ifndef _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE +#endif #ifdef CWDEBUG #ifndef _GNU_SOURCE