New comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/26962#issuecomment-761865705 Comment: Well, it would seem the issue is once again that `shiboken` is running `clang` as a compiler for the host... If we switch the armv6l builder to i686, this won't happen, but it will still be doing the wrong thing: the full error is: ``` /usr/arm-linux-musleabihf/usr/include/qt5/QtCore/qbasicatomic.h:97:5: error: static_assert failed due to requirement 'bool(QAtomicOpsSupport<8 >::IsSupported)' "template parameter is an integral of a size not supported on this platform" /usr/arm-linux-musleabihf/usr/include/qt5/QtCore/qsemaphore.h:70:39: note: in instantiation of template class 'QBasicAtomicInteger' requested here ``` where in `qsemaphore.h` we have: ``` union { QSemaphorePrivate *d; QBasicAtomicInteger u; // ### Qt6: make 64-bit }; ``` and `quintptr` is defined to ``` #ifndef __cplusplus // In C++ mode, we define below using QIntegerForSize template Q_STATIC_ASSERT_X(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions"); typedef ptrdiff_t qptrdiff; typedef ptrdiff_t qsizetype; typedef ptrdiff_t qintptr; typedef size_t quintptr; #endif [...] /* quintptr and qptrdiff is guaranteed to be the same size as a pointer, i.e. sizeof(void *) == sizeof(quintptr) && sizeof(void *) == sizeof(qptrdiff) size_t and qsizetype are not guaranteed to be the same size as a pointer, but they usually are. */ template struct QIntegerForSize; template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; }; template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; }; template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; }; template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; }; #if defined(Q_CC_GNU) && defined(__SIZEOF_INT128__) template <> struct QIntegerForSize<16> { __extension__ typedef unsigned __int128 Unsigned; __extension__ typedef __int128 Signed; }; #endif template struct QIntegerForSizeof: QIntegerForSize { }; typedef QIntegerForSize::Signed qregisterint; typedef QIntegerForSize::Unsigned qregisteruint; typedef QIntegerForSizeof::Unsigned quintptr; ```