tsowell / kobo-btpt

Page turning via Bluetooth for Kobo eReaders
MIT License
107 stars 11 forks source link

Compiling errors #3

Closed bilogic closed 1 year ago

bilogic commented 1 year ago

I faced a number of errors when compiling on Ubuntu 22.04. Any idea why?

[kobo-btpt]# export QT5WIDGETS_CFLAGS="-DQT_WIDGETS_LIB -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets"
[kobo-btpt]# export QT5GUI_CFLAGS="-DQT_GUI_LIB -I/usr/include/x86_64-linux-gnu/qt5/QtGui"
[kobo-btpt]# export QT5CORE_CFLAGS="-std=c++11 -DQT_CORE_LIB -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore"
[kobo-btpt]# export PATH="$PATH:path/to/toolchain/bin"
[kobo-btpt]# make
-- Detected version: v0.0.2-3-gd9ba2fe-dirty
-- Using provided CFLAGS and LIBS for Qt5Core
-- Using provided CFLAGS and LIBS for Qt5Gui
-- Using provided CFLAGS and LIBS for Qt5Widgets
-- Using provided CFLAGS and LIBS for Qt5Core
-- Using provided CFLAGS and LIBS for Qt5Gui
arm-nickel-linux-gnueabihf-g++ -INickelHook/ -DNH_VERSION='"v0.0.2-3-gd9ba2fe-dirty"' -O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -mthumb -Wall -Wextra -Werror -Wno-missing-field-initializers -std=gnu++11 -pthread -std=c++11 -DQT_CORE_LIB -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -DQT_GUI_LIB -I/usr/include/x86_64-linux-gnu/qt5/QtGui -DQT_WIDGETS_LIB -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -std=c++11 -DQT_CORE_LIB -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -DQT_GUI_LIB -I/usr/include/x86_64-linux-gnu/qt5/QtGui -fPIC -c src/btpt.cc -o src/btpt.o
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:46:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1301,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:61:4: error: #error "Qt requires C++11 support"
 #  error "Qt requires C++11 support"
    ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:94:13: error: 'QAtomicOps' does not name a type
     typedef QAtomicOps<T> Ops;
             ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:97:23: error: 'QAtomicOpsSupport' was not declared in this scope
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
                       ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:121:68: note: in definition of macro 'Q_STATIC_ASSERT_X'
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)

^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:97:51: error: '::IsSupported' has not been declared
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
                                                   ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:121:68: note: in definition of macro 'Q_STATIC_ASSERT_X'
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)

^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:121:49: error: non-constant condition for static assertion
 #  define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)
                                                 ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:97:5: note: in expansion of macro 'Q_STATIC_ASSERT_X'
     Q_STATIC_ASSERT_X(QAtomicOpsSupport<sizeof(T)>::IsSupported, "template parameter is an integral of a size not supported on this platform");
     ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:46:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1301,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:99:14: error: 'Ops' has not been declared
     typename Ops::Type _q_value;
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::loadRelaxed() const':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:107:45: error: 'Ops' has not been declared
     T loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); }
                                             ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'void QBasicAtomicInteger<T>::storeRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:108:46: error: 'Ops' has not been declared
     void storeRelaxed(T newValue) noexcept { Ops::storeRelaxed(_q_value, newValue); }
                                              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::loadAcquire() const':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:110:45: error: 'Ops' has not been declared
     T loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); }
                                             ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'void QBasicAtomicInteger<T>::storeRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:111:46: error: 'Ops' has not been declared
     void storeRelease(T newValue) noexcept { Ops::storeRelease(_q_value, newValue); }
                                              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isReferenceCountingNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:115:80: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isReferenceCountingNative() noexcept { return Ops::isReferenceCountingNative(); }

            ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isReferenceCountingWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:116:82: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isReferenceCountingWaitFree() noexcept { return Ops::isReferenceCountingWaitFree(); }

              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::ref()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:118:34: error: 'Ops' has not been declared
     bool ref() noexcept { return Ops::ref(_q_value); }
                                  ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::deref()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:119:36: error: 'Ops' has not been declared
     bool deref() noexcept { return Ops::deref(_q_value); }
                                    ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isTestAndSetNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:121:73: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isTestAndSetWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:122:75: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); }

       ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetRelaxed(T, T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:125:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetAcquire(T, T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:127:14: error: 'Ops' has not been declared
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetRelease(T, T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:129:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetOrdered(T, T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:131:14: error: 'Ops' has not been declared
     { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetRelaxed(T, T, T&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:134:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetAcquire(T, T, T&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:136:14: error: 'Ops' has not been declared
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetRelease(T, T, T&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:138:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicInteger<T>::testAndSetOrdered(T, T, T&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:140:14: error: 'Ops' has not been declared
     { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isFetchAndStoreNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:142:76: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); }

        ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isFetchAndStoreWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:143:78: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); }

          ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndStoreRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:146:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreRelaxed(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndStoreAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:148:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreAcquire(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndStoreRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:150:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreRelease(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndStoreOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:152:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreOrdered(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isFetchAndAddNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:154:74: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); }

      ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicInteger<T>::isFetchAndAddWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:155:76: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); }

        ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAddRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:158:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAddAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:160:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAddRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:162:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAddOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:164:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndSubRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:167:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndSubAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:169:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndSubRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:171:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndSubOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:173:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAndRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:176:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAndRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAndAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:178:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAndAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAndRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:180:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAndRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndAndOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:182:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAndOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndOrRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:185:14: error: 'Ops' has not been declared
     { return Ops::fetchAndOrRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndOrAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:187:14: error: 'Ops' has not been declared
     { return Ops::fetchAndOrAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndOrRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:189:14: error: 'Ops' has not been declared
     { return Ops::fetchAndOrRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndOrOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:191:14: error: 'Ops' has not been declared
     { return Ops::fetchAndOrOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndXorRelaxed(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:194:14: error: 'Ops' has not been declared
     { return Ops::fetchAndXorRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndXorAcquire(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:196:14: error: 'Ops' has not been declared
     { return Ops::fetchAndXorAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndXorRelease(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:198:14: error: 'Ops' has not been declared
     { return Ops::fetchAndXorRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'T QBasicAtomicInteger<T>::fetchAndXorOrdered(T)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:200:14: error: 'Ops' has not been declared
     { return Ops::fetchAndXorOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: At global scope:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:238:13: error: 'QAtomicOps' does not name a type
     typedef QAtomicOps<Type> Ops;
             ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:239:22: error: 'Ops' has not been declared
     typedef typename Ops::Type AtomicType;
                      ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::loadRelaxed() const':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:248:48: error: 'Ops' has not been declared
     Type loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); }
                                                ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'void QBasicAtomicPointer<X>::storeRelaxed(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:249:49: error: 'Ops' has not been declared
     void storeRelaxed(Type newValue) noexcept { Ops::storeRelaxed(_q_value, newValue); }
                                                 ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::loadAcquire() const':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:255:48: error: 'Ops' has not been declared
     Type loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); }
                                                ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'void QBasicAtomicPointer<X>::storeRelease(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:256:49: error: 'Ops' has not been declared
     void storeRelease(Type newValue) noexcept { Ops::storeRelease(_q_value, newValue); }
                                                 ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isTestAndSetNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:258:73: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isTestAndSetNative() noexcept { return Ops::isTestAndSetNative(); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isTestAndSetWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:259:75: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isTestAndSetWaitFree() noexcept { return Ops::isTestAndSetWaitFree(); }

       ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetRelaxed(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:262:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetAcquire(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:264:14: error: 'Ops' has not been declared
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetRelease(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:266:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetOrdered(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:268:14: error: 'Ops' has not been declared
     { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetRelaxed(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:271:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetAcquire(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:273:14: error: 'Ops' has not been declared
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetRelease(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:275:14: error: 'Ops' has not been declared
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'bool QBasicAtomicPointer<X>::testAndSetOrdered(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:277:14: error: 'Ops' has not been declared
     { return Ops::testAndSetOrdered(_q_value, expectedValue, newValue, &currentValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isFetchAndStoreNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:279:76: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndStoreNative() noexcept { return Ops::isFetchAndStoreNative(); }

        ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isFetchAndStoreWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:280:78: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndStoreWaitFree() noexcept { return Ops::isFetchAndStoreWaitFree(); }

          ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndStoreRelaxed(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:283:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreRelaxed(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndStoreAcquire(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:285:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreAcquire(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndStoreRelease(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:287:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreRelease(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndStoreOrdered(QBasicAtomicPointer<X>::Type)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:289:14: error: 'Ops' has not been declared
     { return Ops::fetchAndStoreOrdered(_q_value, newValue); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isFetchAndAddNative()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:291:74: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndAddNative() noexcept { return Ops::isFetchAndAddNative(); }

      ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In static member function 'static bool QBasicAtomicPointer<X>::isFetchAndAddWaitFree()':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:292:76: error: 'Ops' has not been declared
     static Q_DECL_CONSTEXPR bool isFetchAndAddWaitFree() noexcept { return Ops::isFetchAndAddWaitFree(); }

        ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndAddRelaxed(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:295:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndAddAcquire(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:297:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndAddRelease(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:299:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndAddOrdered(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:301:14: error: 'Ops' has not been declared
     { return Ops::fetchAndAddOrdered(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndSubRelaxed(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:304:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubRelaxed(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndSubAcquire(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:306:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubAcquire(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndSubRelease(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:308:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubRelease(_q_value, valueToAdd); }
              ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In member function 'X* QBasicAtomicPointer<X>::fetchAndSubOrdered(qptrdiff)':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:310:14: error: 'Ops' has not been declared
     { return Ops::fetchAndSubOrdered(_q_value, valueToAdd); }
              ^
src/btpt.cc: In member function 'bool BluetoothPageTurner::addDevice(const QString&, const QString&, const QString&)':
src/btpt.cc:125:65: error: 'QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const' is deprecated (declared at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:609): Use Qt::SplitBehavior variant instead [-Werror=deprecated-declarations]
   QList<QString> parts = line.split(" ", QString::SkipEmptyParts);
                                                                 ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:46:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1301,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'T QBasicAtomicInteger<T>::loadRelaxed() const [with T = int]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:55:40:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:107:73: error: no return statement in function returning non-void [-Werror=return-type]
     T loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicInteger<T>::ref() [with T = int]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:61:24:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:118:54: error: no return statement in function returning non-void [-Werror=return-type]
     bool ref() noexcept { return Ops::ref(_q_value); }
                                                      ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicInteger<T>::deref() [with T = int]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:73:29:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:119:58: error: no return statement in function returning non-void [-Werror=return-type]
     bool deref() noexcept { return Ops::deref(_q_value); }
                                                          ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicInteger<T>::testAndSetRelaxed(T, T) [with T = int]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:81:49:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:125:73: error: no return statement in function returning non-void [-Werror=return-type]
     { return Ops::testAndSetRelaxed(_q_value, expectedValue, newValue); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'T QBasicAtomicInteger<T>::loadAcquire() const [with T = int]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:2404:1:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:110:73: error: no return statement in function returning non-void [-Werror=return-type]
     T loadAcquire() const noexcept { return Ops::loadAcquire(_q_value); }

     ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of 'QtMetaTypePrivate::QSequentialIterableImpl::QSequentialIterableImpl(const T*) [with T = QList<QVariant>]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:772:139:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: ambiguous class template instantiation for 'struct QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QVariant>, void>'
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1007:8: error: candidates are: struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, decltype (declval<Container>().push_back(declval<typename Container::value_type>()))>
 struct ContainerCapabilitiesImpl<Container, decltype(std::declval<Container>().push_back(std::declval<typename Container::value_type>()))>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1025:8: error:                 struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, void>
 struct ContainerCapabilitiesImpl<Container, QtPrivate::ContainerCapabilitiesMetaProgrammingHelper::void_t<decltype(std::declval<Container>().insert(std::declval<typename Container::value_type>())), decltype(std::declval<typename Container::value_type>() == std::declval<typename Container::value_type>())>>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QVariant>, void>' used in nested name specifier
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1169:68: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QVariant>, void>' used in nested name specifier
       , _copyIter(IteratorOwner<typename T::const_iterator>::assign)

^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of 'QtMetaTypePrivate::QSequentialIterableImpl::QSequentialIterableImpl(const T*) [with T = QStringList]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:775:138:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: ambiguous class template instantiation for 'struct QtMetaTypePrivate::ContainerCapabilitiesImpl<QStringList, void>'
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1007:8: error: candidates are: struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, decltype (declval<Container>().push_back(declval<typename Container::value_type>()))>
 struct ContainerCapabilitiesImpl<Container, decltype(std::declval<Container>().push_back(std::declval<typename Container::value_type>()))>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1025:8: error:                 struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, void>
 struct ContainerCapabilitiesImpl<Container, QtPrivate::ContainerCapabilitiesMetaProgrammingHelper::void_t<decltype(std::declval<Container>().insert(std::declval<typename Container::value_type>())), decltype(std::declval<typename Container::value_type>() == std::declval<typename Container::value_type>())>>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QStringList, void>' used in nested name specifier
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1169:68: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QStringList, void>' used in nested name specifier
       , _copyIter(IteratorOwner<typename T::const_iterator>::assign)

^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h: In instantiation of 'QtMetaTypePrivate::QSequentialIterableImpl::QSequentialIterableImpl(const T*) [with T = QList<QByteArray>]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:779:141:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: ambiguous class template instantiation for 'struct QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QByteArray>, void>'
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1007:8: error: candidates are: struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, decltype (declval<Container>().push_back(declval<typename Container::value_type>()))>
 struct ContainerCapabilitiesImpl<Container, decltype(std::declval<Container>().push_back(std::declval<typename Container::value_type>()))>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1025:8: error:                 struct QtMetaTypePrivate::ContainerCapabilitiesImpl<Container, void>
 struct ContainerCapabilitiesImpl<Container, QtPrivate::ContainerCapabilitiesMetaProgrammingHelper::void_t<decltype(std::declval<Container>().insert(std::declval<typename Container::value_type>())), decltype(std::declval<typename Container::value_type>() == std::declval<typename Container::value_type>())>>
        ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1160:135: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QByteArray>, void>' used in nested name specifier
       , _iteratorCapabilities(ContainerAPI<T>::IteratorCapabilities | (1 << 4) | (ContainerCapabilitiesImpl<T>::ContainerCapabilities << (4+3)))

                                                                   ^/usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1169:68: error: incomplete type 'QtMetaTypePrivate::ContainerCapabilitiesImpl<QList<QByteArray>, void>' used in nested name specifier
       , _copyIter(IteratorOwner<typename T::const_iterator>::assign)

^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic.h:46:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1301,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
                 from src/btpt.cc:15:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'X* QBasicAtomicPointer<X>::loadRelaxed() const [with X = QMutexData; QBasicAtomicPointer<X>::Type = QMutexData*]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:86:9:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:248:76: error: no return statement in function returning non-void [-Werror=return-type]
     Type loadRelaxed() const noexcept { return Ops::loadRelaxed(_q_value); }

        ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicPointer<X>::testAndSetAcquire(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type) [with X = QMutexData; QBasicAtomicPointer<X>::Type = QMutexData*]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:103:62:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:264:73: error: no return statement in function returning non-void [-Werror=return-type]
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicPointer<X>::testAndSetRelease(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type) [with X = QMutexData; QBasicAtomicPointer<X>::Type = QMutexData*]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:106:62:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:266:73: error: no return statement in function returning non-void [-Werror=return-type]
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue); }

     ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicPointer<X>::testAndSetAcquire(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&) [with X = QMutexData; QBasicAtomicPointer<X>::Type = QMutexData*]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:109:71:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:273:88: error: no return statement in function returning non-void [-Werror=return-type]
     { return Ops::testAndSetAcquire(_q_value, expectedValue, newValue, &currentValue); }

                    ^
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h: In instantiation of 'bool QBasicAtomicPointer<X>::testAndSetRelease(QBasicAtomicPointer<X>::Type, QBasicAtomicPointer<X>::Type, X*&) [with X = QMutexData; QBasicAtomicPointer<X>::Type = QMutexData*]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmutex.h:112:71:   required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:275:88: error: no return statement in function returning non-void [-Werror=return-type]
     { return Ops::testAndSetRelease(_q_value, expectedValue, newValue, &currentValue); }

[kobo-btpt]#
bilogic commented 1 year ago

After much trial and error, the answer was found in another nickelhook mod

docker run --volume="$PWD:$PWD" --user="$(id --user):$(id --group)" --workdir="$PWD" --env=HOME --entrypoint=make --rm -it ghcr.io/pgaskin/nickeltc:1.0 all koboroot

Also had to copy input-event-codes.h from /usr/include/linux/input-event-codes.h and update the source accordingly. I have no idea how to get docker to retrieve the file from the host.