gmake: *** [Makefile:384: qutfcodec.o] Error 1
-
Hello everyone,I have an ARM-based (Rockchip RK3288, ARM Cortex-A17 CPU, Mali-T760 MP4 (T764) GPU)motherboard and I want to cross-compile using it. I use Debian 9 as the operating system on this card, and I use Ubuntu 21.04 on the host PC. For cross-compile, I use tinkerboard's qmake.conf file, which is the same hardware. But this is the first time I got such an error. I can't find the source of the error either. Anyone have any ideas?
./configure command:
../qt-everywhere-src-5.14.0/configure -release -opengl es2 -nomake examples -nomake tests -opensource -confirm-license -device linux-tinkerboard-g++ -device-option CROSS_COMPILE=~/tinker/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot ~/tinker/sysroot -prefix /usr/local/qt5li -extprefix ~/tinker/qt5 -hostprefix ~/tinker/qt5-host -no-use-gold-linker -vOutput:
In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qfloat16.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:44, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: error: ‘numeric_limits’ is not a class template 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected template-name before ‘<’ token 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected ‘{’ before ‘<’ token /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:18: error: ‘numeric_limits’ is not a class template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:69: error: ‘std::numeric_limits’ is not a template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:333:28: error: expected template-name before ‘<’ token 333 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:18: error: ‘numeric_limits’ is not a class template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:72: error: ‘std::numeric_limits’ is not a template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:335:28: error: expected template-name before ‘<’ token 335 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:18: error: ‘numeric_limits’ is not a class template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:78: error: ‘std::numeric_limits’ is not a template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:337:28: error: expected template-name before ‘<’ token 337 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:30: error: ‘std::numeric_limits’ is not a template 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:30: error: ‘std::numeric_limits’ is not a template 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ gmake: *** [Makefile:384: qutfcodec.o] Error 1 -
Hello everyone,I have an ARM-based (Rockchip RK3288, ARM Cortex-A17 CPU, Mali-T760 MP4 (T764) GPU)motherboard and I want to cross-compile using it. I use Debian 9 as the operating system on this card, and I use Ubuntu 21.04 on the host PC. For cross-compile, I use tinkerboard's qmake.conf file, which is the same hardware. But this is the first time I got such an error. I can't find the source of the error either. Anyone have any ideas?
./configure command:
../qt-everywhere-src-5.14.0/configure -release -opengl es2 -nomake examples -nomake tests -opensource -confirm-license -device linux-tinkerboard-g++ -device-option CROSS_COMPILE=~/tinker/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot ~/tinker/sysroot -prefix /usr/local/qt5li -extprefix ~/tinker/qt5 -hostprefix ~/tinker/qt5-host -no-use-gold-linker -vOutput:
In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qfloat16.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:44, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: error: ‘numeric_limits’ is not a class template 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected template-name before ‘<’ token 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected ‘{’ before ‘<’ token /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:18: error: ‘numeric_limits’ is not a class template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:69: error: ‘std::numeric_limits’ is not a template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:333:28: error: expected template-name before ‘<’ token 333 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:18: error: ‘numeric_limits’ is not a class template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:72: error: ‘std::numeric_limits’ is not a template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:335:28: error: expected template-name before ‘<’ token 335 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:18: error: ‘numeric_limits’ is not a class template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:78: error: ‘std::numeric_limits’ is not a template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:337:28: error: expected template-name before ‘<’ token 337 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:30: error: ‘std::numeric_limits’ is not a template 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:30: error: ‘std::numeric_limits’ is not a template 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ gmake: *** [Makefile:384: qutfcodec.o] Error 1@Buket said in gmake: *** [Makefile:384: qutfcodec.o] Error 1:
gcc-linaro-7.5.0
You should consider getting newer compiler.
-
@Buket said in gmake: *** [Makefile:384: qutfcodec.o] Error 1:
gcc-linaro-7.5.0
You should consider getting newer compiler.
@jsulm
I searched but there is this toolchain as the newest. If you don't mind, could you send me a newer toolchain link?Edit:
Using a different version toolchain did not solve the problem and when I looked at the linaro releases, I saw that this was the most up-to-date toolchain. Can't there be another reason? -
Hello everyone,I have an ARM-based (Rockchip RK3288, ARM Cortex-A17 CPU, Mali-T760 MP4 (T764) GPU)motherboard and I want to cross-compile using it. I use Debian 9 as the operating system on this card, and I use Ubuntu 21.04 on the host PC. For cross-compile, I use tinkerboard's qmake.conf file, which is the same hardware. But this is the first time I got such an error. I can't find the source of the error either. Anyone have any ideas?
./configure command:
../qt-everywhere-src-5.14.0/configure -release -opengl es2 -nomake examples -nomake tests -opensource -confirm-license -device linux-tinkerboard-g++ -device-option CROSS_COMPILE=~/tinker/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot ~/tinker/sysroot -prefix /usr/local/qt5li -extprefix ~/tinker/qt5 -hostprefix ~/tinker/qt5-host -no-use-gold-linker -vOutput:
In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qfloat16.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:44, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: error: ‘numeric_limits’ is not a class template 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected template-name before ‘<’ token 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:77: error: expected ‘{’ before ‘<’ token /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:18: error: ‘numeric_limits’ is not a class template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:332:69: error: ‘std::numeric_limits’ is not a template 332 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:333:28: error: expected template-name before ‘<’ token 333 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:18: error: ‘numeric_limits’ is not a class template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:334:72: error: ‘std::numeric_limits’ is not a template 334 | template<> class numeric_limits<volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:335:28: error: expected template-name before ‘<’ token 335 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:18: error: ‘numeric_limits’ is not a class template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:336:78: error: ‘std::numeric_limits’ is not a template 336 | template<> class numeric_limits<const volatile QT_PREPEND_NAMESPACE(qfloat16)> | ^ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:294:7: note: previous declaration here 294 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float> | ^~~~~~~~~~~~~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:337:28: error: expected template-name before ‘<’ token 337 | : public numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> {}; | ^ In file included from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/qendian.h:1, from /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/src/corelib/codecs/qutfcodec.cpp:43: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:30: error: ‘std::numeric_limits’ is not a template 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 331 | { return QSpecialInteger(std::numeric_limits<T>::max()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’: /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:30: error: ‘std::numeric_limits’ is not a template 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ /home/buket/tinker/qt-everywhere-src-5.14.0/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: incomplete type ‘std::numeric_limits’ used in nested name specifier 333 | { return QSpecialInteger(std::numeric_limits<T>::min()); } | ^~~ gmake: *** [Makefile:384: qutfcodec.o] Error 1 -
numeric_limits is defined in std namespace so you should try if including the correct header helps.