[100%] Linking CXX executable msync
/usr/include/c++/8/bits/stringfwd.h:74:33: note: type ‘struct string’ should match type ‘struct string’
typedef basic_string<char> string;
^
/usr/include/c++/8/bits/stringfwd.h:74:33: note: type ‘struct string’ should match type ‘struct string’
/usr/include/c++/8/bits/stl_function.h:381:12: note: type ‘struct less’ itself violates the C++ One Definition Rule
struct less : public binary_function<_Tp, _Tp, bool>
^
/usr/include/c++/8/sstream:80:57: note: type ‘struct __string_type’ should match type ‘struct __string_type’
typedef basic_string<char_type, _Traits, _Alloc> __string_type;
^
/usr/include/c++/8/bits/stringfwd.h:74:33: note: type ‘struct string’ should match type ‘struct string’
typedef basic_string<char> string;
^
/usr/include/c++/8/bits/stringfwd.h:74:33: note: type ‘struct string’ should match type ‘struct string’
/usr/include/c++/8/bits/stringfwd.h:74:33: note: type ‘struct string’ should match type ‘struct string’
typedef basic_string<char> string;
^
[100%] Built target msync
These can safely be ignored. They go away with newer versions of GCC, or if you use clang, but they're harmless as is. They're a side effect of the fact that msync uses link time optimization.