I'm having this error when building freefilesync on armel architecture:
../../zen/string_base.h:192:47: error: static assertion failed
192 | static_assert(decltype(refCount)::is_always_lock_free);
| ^~~~~~~~~~~~~~~~~~~
In file included from ../../zen/zstring.h:12,
from ffs_paths.h:10,
from ffs_paths.cpp:7:
../../zen/string_base.h: In instantiation of ‘static zen::StorageRefCountThreadSafe<Char, AP>::Descriptor* zen::StorageRefCountThreadSafe<Char, AP>::descr(Char*) [with Char = char; AP = zen::AllocatorOptimalSpeed]’:
../../zen/string_base.h:161:36: required from ‘void zen::StorageRefCountThreadSafe<Char, AP>::destroy(Char*) [with Char = char; AP = zen::AllocatorOptimalSpeed]’
../../zen/string_base.h:393:18: required from ‘zen::Zbase<Char, SP>::~Zbase() [with Char = char; SP = zen::DefaultStoragePolicy]’
../../zen/zstring.h:50:80: required from here
../../zen/string_base.h:200:62: warning: cast from ‘char*’ to ‘zen::StorageRefCountThreadSafe<char, zen::AllocatorOptimalSpeed>::Descriptor*’ increases required alignment of target type [-Wcast-align]
200 | static Descriptor* descr( Char* ptr) { return reinterpret_cast< Descriptor*>(ptr) - 1; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../zen/string_base.h: In instantiation of ‘constexpr zen::StorageRefCountThreadSafe<Char, AP>::Descriptor::Descriptor(size_t, size_t) [with Char = char; AP = zen::AllocatorOptimalSpeed; size_t = unsigned int]’:
../../zen/string_base.h:211:47: required from ‘zen::StorageRefCountThreadSafe<char, zen::AllocatorOptimalSpeed>::GlobalEmptyString zen::StorageRefCountThreadSafe<char, zen::AllocatorOptimalSpeed>::globalEmptyString’
../../zen/string_base.h:133:15: required from ‘Char* zen::StorageRefCountThreadSafe<Char, AP>::create(size_t, size_t) [with Char = char; AP = zen::AllocatorOptimalSpeed; size_t = unsigned int]’
../../zen/string_base.h:126:46: required from ‘Char* zen::StorageRefCountThreadSafe<Char, AP>::create(size_t) [with Char = char; AP = zen::AllocatorOptimalSpeed; size_t = unsigned int]’
../../zen/string_base.h:349:30: required from ‘zen::Zbase<Char, SP>::Zbase() [with Char = char; SP = zen::DefaultStoragePolicy]’
../../zen/string_tools.h:359:54: required from ‘S zen::beforeLast(const S&, const T&, IfNotFoundReturn) [with S = Zbase<char>; T = char]’
ffs_paths.cpp:28:56: required from here
../../zen/string_base.h:211:47: in ‘constexpr’ expansion of ‘zen::StorageRefCountThreadSafe<char, zen::AllocatorOptimalSpeed>::globalEmptyString.zen::StorageRefCountThreadSafe<char, zen::AllocatorOptimalSpeed>::GlobalEmptyString::GlobalEmptyString()’
../../zen/string_base.h:192:47: error: static assertion failed
192 | static_assert(decltype(refCount)::is_always_lock_free);
| ^~~~~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
make[1]: *** [Makefile:138: /tmp/FreeFileSync_Make/ffs/src/ffs_paths.cpp.o] Error 1