fails to build with g++ 11 (i.e. with C++ 17, I guess): error: reference to 'byte' is ambiguous
Attempting to build SyncEvolution 2.0.0 on an up-to-date Debian unstable system using g++ 11.2.0 fails:
In file included from src/syncevo/SyncContext.cpp:72:
/usr/include/synthesis/san.h:264:5: error: reference to 'byte' is ambiguous
264 | byte fEmpty; // direct reference to empty structure
| ^~~~
In file included from /usr/include/boost/config/compiler/gcc.hpp:165,
from /usr/include/boost/config.hpp:39,
from /usr/include/boost/algorithm/string/config.hpp:14,
from /usr/include/boost/algorithm/string/predicate.hpp:15,
from ./src/syncevo/ConfigNode.h:29,
from ./src/syncevo/FilterConfigNode.h:23,
from ./src/syncevo/SyncConfig.h:23,
from ./src/syncevo/SyncContext.h:25,
from src/syncevo/SyncContext.cpp:26:
/usr/include/c++/11/cstddef:69:14: note: candidates are: 'enum class std::byte'
69 | enum class byte : unsigned char {};
| ^~~~
In file included from src/syncevo/SyncContext.cpp:72:
/usr/include/synthesis/san.h:32:24: note: 'typedef unsigned char byte'
32 | typedef unsigned char byte;
| ^~~~
make[3]: *** [Makefile:8587: src/syncevo/libsyncevolution_la-SyncContext.lo] Error 1