How to configure Qt on BBB with linux
-
I am trying to cross compile Qt wit BBB , but Getting following error while configuring Qt with command -
./configure -platform linux-g++ -release -device linux-beagleboard-g++ -sysroot /home/BBB/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf -prefix /home/BBB/Qt5forBBB -hostprefix /home/debian/BBB/Qt5forBBB -device-option CROSS_COMPILE=/home/BBB/gcc-linaro-7.5.0-2019.12-i686-mingw32_arm-linux-gnueabihf- -nomake tests -nomake examples -no-opengl -opensource -confirm-license -reduce-exports -make libs
Error
gmake: *** [Makefile:378: qutfcodec.o] Error 1What can be possible solution ?
Toolchain used : gcc-linaro-7.5.0-2019.12-i686-mingw32_arm-linux-gnueabihf
sysroot : sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihfPlease find attached snippet of logs:
2daa01d6-3cfa-4709-ba52-8af6a8d0a64e-image.png@AXZS said in How to configure Qt on BBB with linux:
Error
gmake: *** [Makefile:378: qutfcodec.o] Error 1This is not the actual error, the error should be somewhere above this line.
Also, you can check config.log file to find more details about the issue (you can also post its content here). -
@AXZS said in How to configure Qt on BBB with linux:
Error
gmake: *** [Makefile:378: qutfcodec.o] Error 1This is not the actual error, the error should be somewhere above this line.
Also, you can check config.log file to find more details about the issue (you can also post its content here).@jsulm
okay.... I am attaching the log .
~/BBB/qt-everywhere-src-5.12.1/qtbase$ ./configureCreating qmake...
.In file included from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qendian.h:1,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::max()’:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:35: error: ‘numeric_limits’ is not a member of ‘std’
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~~~~~~~~~~~~
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: ‘::max’ has not been declared; did you mean ‘std::max’?
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~ | std::max
In file included from /usr/include/c++/11/algorithm:62,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qglobal.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qchar.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qstring.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec_p.h:55, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
In file included from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qendian.h:1,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:29: error: expected primary-expression before ‘(’ token
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:35: error: ‘numeric_limits’ is not a member of ‘std’
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~~~~~~~~~~~~
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:51: error: expected primary-expression before ‘>’ token
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:331:54: error: ‘::max’ has not been declared; did you mean ‘std::max’?
331 | { return QSpecialInteger(std::numeric_limits<T>::max()); }
| ^~~ | std::max
In file included from /usr/include/c++/11/algorithm:62,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qglobal.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qchar.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qstring.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec_p.h:55, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
In file included from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qendian.h:1,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h: In static member function ‘static constexpr QSpecialInteger<S> QSpecialInteger<S>::min()’:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:35: error: ‘numeric_limits’ is not a member of ‘std’
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~~~~~~~~~~~~
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: ‘::min’ has not been declared; did you mean ‘std::min’?
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~ | std::min
In file included from /usr/include/c++/11/algorithm:62,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qglobal.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qchar.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qstring.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec_p.h:55, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here
3455 | min(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
In file included from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qendian.h:1,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:29: error: expected primary-expression before ‘(’ token
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:35: error: ‘numeric_limits’ is not a member of ‘std’
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~~~~~~~~~~~~
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:51: error: expected primary-expression before ‘>’ token
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^
/home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:333:54: error: ‘::min’ has not been declared; did you mean ‘std::min’?
333 | { return QSpecialInteger(std::numeric_limits<T>::min()); }
| ^~~ | std::min
In file included from /usr/include/c++/11/algorithm:62,
from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:142, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qglobal.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qchar.h:43, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qchar.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:48, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qstring.h:1, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec_p.h:55, from /home/BBB/qt-everywhere-src-5.12.1/qtbase/src/corelib/codecs/qutfcodec.cpp:41:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here
3455 | min(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
gmake: *** [Makefile:378: qutfcodec.o] Error 1
What can be possible solution?
-
@AXZS said in How to configure Qt on BBB with linux:
Error
gmake: *** [Makefile:378: qutfcodec.o] Error 1This is not the actual error, the error should be somewhere above this line.
Also, you can check config.log file to find more details about the issue (you can also post its content here).@jsulm
Here is command given:
/BBB/qt-everywhere-src-5.12.1$ ./configure -platform linux-g++ -release -device linux-beagleboard-g++ \-sysroot /home/BBB/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf \
-prefix ~/home/BBB/Qt5forBBB -hostprefix ~/debian/Qt5forBBB \
-device-option CROSS_COMPILE=/home/BBB/gcc-linaro-7.5.0-2019.12-i686-mingw32_arm-linux-gnueabihf- \
-nomake tests -nomake examples -no-opengl -opensource -confirm-license -reduce-exports -make libs
-
cd qtbase
-
/home/rnd100/BBB/qt-everywhere-src-5.12.1/qtbase/configure -top-level -platform linux-g++ -release -device linux-beagleboard-g++
Creating qmake...
.In file included from /home/BBB/qt-everywhere-src-5.12.1/qtbase/include/QtCore/qendian.h:1,
-
-
@AXZS said in How to configure Qt on BBB with linux:
Error
gmake: *** [Makefile:378: qutfcodec.o] Error 1This is not the actual error, the error should be somewhere above this line.
Also, you can check config.log file to find more details about the issue (you can also post its content here).@jsulm
Here is the log file content detailsrw-r--r-- 1 root root 25859 Jul 27 16:37 alternatives.log
drwxr-xr-x 2 root root 4096 Jul 29 15:09 apt
-rw-r----- 1 syslog adm 29683 Jul 29 15:42 auth.log
-rw-r----- 1 syslog adm 143033 Jul 29 11:55 auth.log.1
-rw------- 1 root root 21438 Jul 29 15:22 boot.log
-rw------- 1 root root 64943 Jul 29 11:55 boot.log.1
-rw------- 1 root root 65167 Jul 26 13:17 boot.log.2
-rw------- 1 root root 95500 Jul 23 10:40 boot.log.3
-rw-r--r-- 1 root root 108494 Apr 19 15:33 bootstrap.log
-rw-rw---- 1 root utmp 3072 Jul 26 14:57 btmp
drwxr-xr-x 2 root root 4096 Jul 29 11:55 cups
drwxr-xr-x 2 root root 4096 Apr 18 23:17 dist-upgrade
-rw-r----- 1 root adm 49255 Jul 29 15:22 dmesg
-rw-r----- 1 root adm 49719 Jul 29 13:20 dmesg.0
-rw-r----- 1 root adm 14619 Jul 29 11:55 dmesg.1.gz
-rw-r----- 1 root adm 14722 Jul 28 15:16 dmesg.2.gz
-rw-r----- 1 root adm 14538 Jul 27 14:00 dmesg.3.gz
-rw-r----- 1 root adm 14551 Jul 27 13:07 dmesg.4.gz
-rw-r--r-- 1 root root 1195792 Jul 29 15:09 dpkg.log
-rw-r--r-- 1 root root 32032 Jul 23 12:28 faillog
-rw-r--r-- 1 root root 11145 Jul 21 17:38 fontconfig.log
drwx--x--x 2 root gdm 4096 Jul 21 17:28 gdm3
-rw-r--r-- 1 root root 1300 Jul 29 15:22 gpu-manager.log
drwxr-xr-x 3 root root 4096 Apr 19 15:34 hp
drwxrwxr-x 2 root root 4096 Jul 21 17:27 installer
drwxr-sr-x+ 3 root systemd-journal 4096 Jul 21 17:28 journal
-rw-r----- 1 syslog adm 144826 Jul 29 15:23 kern.log
-rw-r----- 1 syslog adm 1613167 Jul 29 11:55 kern.log.1
-rw-rw-r-- 1 root utmp 292292 Jul 23 15:51 lastlog
drwxr-xr-x 2 root root 4096 Mar 22 22:52 openvpn
drwx------ 2 root root 4096 Apr 19 15:32 private
drwx------ 2 speech-dispatcher root 4096 Jan 9 2022 speech-dispatcher
-rw-r----- 1 syslog adm 612005 Jul 29 15:42 syslog
-rw-r----- 1 syslog adm 5990402 Jul 29 11:55 syslog.1
-rw-r--r-- 1 root root 0 Apr 19 15:33 ubuntu-advantage.log
-rw-r--r-- 1 root root 1256 Jul 29 12:45 ubuntu-advantage-timer.log
drwxr-x--- 2 root adm 4096 Jul 22 10:54 unattended-upgrades
-rw-r--r-- 1 root root 695 Jul 22 11:01 vboxadd-install.log
-rw-r--r-- 1 root root 158 Jul 22 11:52 vboxadd-setup.log
-rw-r--r-- 1 root root 214 Jul 22 11:03 vboxadd-setup.log.1
-rw-r--r-- 1 root root 214 Jul 22 11:01 vboxadd-setup.log.2
-rw-r--r-- 1 root root 214 Jul 22 11:01 vboxadd-setup.log.3
-rw-r--r-- 1 root root 214 Jul 22 11:01 vboxadd-setup.log.4
-rw-r--r-- 1 root root 1 Jul 22 11:01 vboxadd-uninstall.log
-rw-rw-r-- 1 root utmp 37632 Jul 29 15:22 wtmp
-
Aren't you using a release 7 series of GCC ?
-
I would limit the module compilation to just the list of the ones you need.
-
Hi,
Thanks for your support .
Qt has configured successfully with command
./configure -opensource -confirm-license -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -no-sse2 -no-ssse3 -no-glib -no-cups -no-accessibility -no-openssl -no-pch -no-sql-ibase -no-sql-odbc -no-sql-psql -no-sql-sqlite -nomake examples
..
Proceeding to make command ,errors are popping as follows-
qt-everywhere-src-6.0.4/qtbase/src/corelib/global/qglobal.cpp:2335:2: error: ‘QString’ does not name a type
2335 | QString QSysInfo::buildCpuArchitecture()I have tried the solutions provided on supported platforms to include few header files in qglobal.cpp file, but it is still the same lists of errors .
What may be the possible procedure? -
What if you drop the no-pch option ?
One that you should add is the nomake tests. -
@SGaist
Hi,- after dropping no-make tests, command ./configure was executed but further steps were not running.
I tried to build and run Qtproject on AM625x EVM board by installing AM625x SDK and following steps as per TI_ SDK with making dynamically executable file.
Compiling and running Qt project was successful on AM625x EVM board.
2.But, again when I tried my luck on Beaglebone with same procedure, i.e installation of AM335x SDK and running, with same installed Qt5.7.0, output of command file freshly built qtproject is as follows:
Qtproject: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped
This command is producing output in AM625x EVM as follows-
Qtproject: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0x8569a0956d8efffcfde68fca5c883be5fa4f1c31, not stripped
When running ./Qtproject on beaglebone board,
The error is popping as:
error while loading shared libraries: libQt5Quick.so.5.so: cannot open shared object file: No such file or directoryI came across thread
https://forum.qt.io/topic/58963/error-while-loading-shared-libraries-cannot-open-shared-object-file-no-such-file-or-directory
and tried QMAKE_LFLAGS += -Wl,-rpath,"'$$ORIGIN'" in .pro file of Qtproject, but the file is still not being made as dynamically executable with shared libraries.Please guide.
- after dropping no-make tests, command ./configure was executed but further steps were not running.
-
Do you have the Qt libraries deployed on your target ?
If so, where ? -
yes , Qt is installed on target.
root@beaglebone:~$ qmake --version
** QMake version 3.1**
** Using Qt version 5.11.3 in /usr/lib/arm-linux-gnueabihfBut,I am not sure that all libraries are installed.
Still,error is
libQt5QmlModels.so.5 not found, could'nt find any package by glob or regex. -
I have connected LCD display to beaglebone and also tried below commands from link https://elinux.org/BeagleBoneBlack/SGX_%2B_Qt_EGLFS_%2B_Weston#QtQuick_.2B_EGLFS
apt-get install libqt5qml5 qml-module-qtquick-controls qt5-default qtdeclarative5-dev qtquickcontrols5-examples
cd /usr/lib/arm-linux-gnueabihf/qt5/examples/quickcontrols/extras/dashboard
qmake
make
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=none
./dashboardBut getting error
EGLFS:failed to open /dev/fb0
EGLFS:can't continue without display -
Hi,
I installed libraries
sudo apt-get -y install build-essential openssl libssl-dev libssl1.0 libgl1-mesa-dev libqt5x11extras5and tried to run
cd /usr/lib/arm-linux-gnueabihf/qt5/examples/quickcontrols/extras/dashboard
qmake
make
export QT_QPA_PLATFORM=eglfs
export QT_QPA_EGLFS_INTEGRATION=none
./dashboard*Now error is
qt.qpa.screen QXcbconnection:Could not connect to displayXDG_SESSION_TYPE is x11
What could be possible error?
-
Are you doing that on the BBB directly ?
Do you have any graphical interface running ?
Which plugins do you have installed with the package manager ? -
Hi,
I am trying to run "Hello world" made on Qt ,developed on host PC and then copying it to beaglebone using scp command.
The beaglebone is showing directory with executable file of "hello world" but when ./helloworld command is run, the error is shown.I have installed qt5-qtdeclarative5.15 on host PC.
Same error of libqt5qmlmodels.so.5 shared libraries not found.
Do I need to install it on beaglebone also ?If so, please guide with all required plugins,packages and dependencies of Qt supported . -
Since you cross-compiled Qt, you should deploy that one on your board.
If you want to stay with the distribution provided Qt of your target, you need to install all the Qt packages you are using in your application.
-
Hi,
Thanks for all support.
Finally, cross-compilation of beaglebone with Qt done.
But, still ,
next stone in the path is -
https://forum.qt.io/topic/124754/remote-generic-linux-devicePlease guide, what statement to add install in Cmakelists.txt file