How to add qt libraries to embedded board.
-
Do you have libpng for ARM ?
-
Hi SGaist ,
Thanks for the reply. As you said I have installed libpng and zlib for arm (in my toolchain folder). Now I am able to do configure, make and make install on Qt5.2. But I am still facing problems.
I have copied all the installed libraries on to my board and when I tried to run application I am facing the following problem.
**root@dra7xx-evm:~# ./Wid1
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
This application failed to start because it could not find or load the Qt platform plugin "xcb".Available platform plugins are: eglfs, kms, linuxfb, minimal, minimalegl, offscreen.
Reinstalling the application may fix this problem.
Aborted
root@dra7xx-evm:~# ./Wid1 -platform kms
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread
root@dra7xx-evm:~# **And I observed that when I gave make install in qt5.2 the log contains some errors as followed(sample of Log).
cd qmldbg_inspector/ && ( test -e Makefile || /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtbase/bin/qmake /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro -o Makefile ) && make -f Makefile install
make[5]: Entering directory/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_inspector' install -m 755 -p "../../../../plugins/qml1tooling/libqmldbg_inspector.so" "/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/plugins/qml1tooling/libqmldbg_inspector.so" arm-linux-gnueabihf-strip --strip-unneeded "/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/plugins/qml1tooling/libqmldbg_inspector.so" /bin/sh: 1: arm-linux-gnueabihf-strip: not found make[5]: [install_target] Error 127 (ignored) make[5]: Leaving directory
/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_inspector'
cd qmldbg_tcp_qtquick1/ && ( test -e Makefile || /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtbase/bin/qmake /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_tcp_qtquick1/qmldbg_tcp_qtquick1.pro -o Makefile ) && make -f Makefile install
make[5]: Entering directory/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_tcp_qtquick1' install -m 755 -p "../../../../plugins/qml1tooling/libqmldbg_tcp_qtdeclarative.so" "/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/plugins/qml1tooling/libqmldbg_tcp_qtdeclarative.so" arm-linux-gnueabihf-strip --strip-unneeded "/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/plugins/qml1tooling/libqmldbg_tcp_qtdeclarative.so" /bin/sh: 1: arm-linux-gnueabihf-strip: not found make[5]: [install_target] Error 127 (ignored) make[5]: Leaving directory
/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling/qmldbg_tcp_qtquick1'
make[4]: Leaving directory/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins/qmltooling' make[3]: Leaving directory
/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src/plugins'
make[2]: Leaving directory/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/src' cd tools/ && ( test -e Makefile || /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtbase/bin/qmake /home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/tools/tools.pro -o Makefile ) && make -f Makefile install make[2]: Entering directory
/home/medha/Qt5.2/qt-everywhere-opensource-src-5.2.0/qtquick1/tools'
make[2]: Nothing to be done for `install'.And I did not find the fonts folder in the installed path..
Please Help me in this regard.
Regards,
Vijay -
Missing arm-linux-gnueabihf-strip in your PATH ?
-
Hi SGaist ,
No. Its not missing.
medha@C528:~/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin$ ls
arm-linux-gnueabihf-addr2line* arm-linux-gnueabihf-gfortran*
arm-linux-gnueabihf-ar* arm-linux-gnueabihf-gprof*
arm-linux-gnueabihf-as* arm-linux-gnueabihf-ld@
arm-linux-gnueabihf-c++@ arm-linux-gnueabihf-ld.bfd*
arm-linux-gnueabihf-c++filt* arm-linux-gnueabihf-ldd*
arm-linux-gnueabihf-cpp* arm-linux-gnueabihf-ld.gold*
arm-linux-gnueabihf-ct-ng.config arm-linux-gnueabihf-nm*
arm-linux-gnueabihf-elfedit* arm-linux-gnueabihf-objcopy*
arm-linux-gnueabihf-g++* arm-linux-gnueabihf-objdump*
arm-linux-gnueabihf-gcc@ arm-linux-gnueabihf-pkg-config*
arm-linux-gnueabihf-gcc-4.7.3* arm-linux-gnueabihf-pkg-config-real*
arm-linux-gnueabihf-gcc-ar* arm-linux-gnueabihf-ranlib*
arm-linux-gnueabihf-gcc-nm* arm-linux-gnueabihf-readelf*
arm-linux-gnueabihf-gcc-ranlib* arm-linux-gnueabihf-size*
arm-linux-gnueabihf-gcov* arm-linux-gnueabihf-strings*
arm-linux-gnueabihf-gdb* arm-linux-gnueabihf-strip*Rgds,
Vijay -
I didn't doubt that you had them (otherwise you wouldn't have been able to cross-compile at all) However can you confirm that "~/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin" is in your PATH environment variable ?
-
medha@C528:~$ export PATH=$PATH:/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin
medha@C528:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/binActually, If something went wrong how the libraries are being created.? And when I gave "file" command on any of the created library file, it informs that the library is cross compiled for arm.
And I tried copying the created libraries onto the filesystem and run some Qt application as follows, after setting the LD_LIBRARY_PATH variable.
But I am getting problem.
On the targetroot@dra7xx-evm:~# ./Wid1
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
This application failed to start because it could not find or load the Qt platform plugin "xcb".Available platform plugins are: eglfs, kms, linuxfb, minimal, minimalegl, offscreen.
Reinstalling the application may fix this problem.
Aborted
root@dra7xx-evm:~# ./Wid1 -platform kms
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread
root@dra7xx-evm:~#What could be the problem? Am I running the application properly?
Please help me. -
Hi Gaist,
Did you get any idea? what could be the probelm?
Plz help me.
Regards,
Vijay -
Are you sure that you are using the same Qt on your target than the one you cross-compiled ?
-
@SGaist
Yeah, Im sure. I created the make file for application using qmake of the qt5.2 crosscompiled.
medha@C528:~/Qtwokspace/Wid1$ ls
main.cpp mainwindow.cpp mainwindow.h mainwindow.ui Wid1.pro Wid1.pro.user
medha@C528:~/Qtwokspace/Wid1$ /usr/qte5.2/bin/qmake Wid1.pro
medha@C528:~/Qtwokspace/Wid1$ ls
main.cpp mainwindow.h Makefile Wid1.pro.user
mainwindow.cpp mainwindow.ui Wid1.pro
medha@C528:~/Qtwokspace/Wid1$ make
/usr/qte5.2/bin/uic mainwindow.ui -o ui_mainwindow.h
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs -O3 -march=armv7-a -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -fPIC -mword-relocations -marm -fpermissive -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/qte5.2/mkspecs/linux-omap5-g++ -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtWidgets -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtGui -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtCore -I. -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include -I/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/libxml2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/freetype2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/drm -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/gbm -o main.o main.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs -O3 -march=armv7-a -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -fPIC -mword-relocations -marm -fpermissive -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/qte5.2/mkspecs/linux-omap5-g++ -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtWidgets -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtGui -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtCore -I. -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include -I/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/libxml2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/freetype2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/drm -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/gbm -o mainwindow.o mainwindow.cpp
/usr/qte5.2/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/qte5.2/mkspecs/linux-omap5-g++ -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtWidgets -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtGui -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtCore -I. -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include -I/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/libxml2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/freetype2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/drm -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/gbm -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/include/c++/4.7.3 -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/include/c++/4.7.3/arm-linux-gnueabihf -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/include/c++/4.7.3/backward -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/4.7.3/include -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/4.7.3/include-fixed -I/home/medha/CC/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/lib/gcc/arm-linux-gnueabihf/include -I/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include mainwindow.h -o moc_mainwindow.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs -O3 -march=armv7-a -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -fPIC -mword-relocations -marm -fpermissive -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/qte5.2/mkspecs/linux-omap5-g++ -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtWidgets -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtGui -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/include/QtCore -I. -I. -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include -I/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/libxml2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/freetype2 -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/drm -I../../ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/include/gbm -o moc_mainwindow.o moc_mainwindow.cpp
arm-linux-gnueabihf-g++ --sysroot=/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs -Wl,-O1 -Wl,-rpath,/usr/qte5.2/lib -o Wid1 main.o mainwindow.o moc_mainwindow.o -L/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/lib -L/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/lib -L/home/medha/ti-glsdk_dra7xx-evm_7_00_00_04/targetfs/usr/qte5.2/lib -lQt5Widgets -L/usr/qte5.2/lib -lQt5Gui -lQt5Core -lz -lfreetype -lexpat -lrt -ldl -lfontconfig -lpng -lsrv_um -lGLESv2 -lusc -lpthread
medha@C528:~/Qtwokspace/Wid1$ ls
main.cpp mainwindow.o moc_mainwindow.o Wid1.pro.user
main.o mainwindow.ui ui_mainwindow.h
mainwindow.cpp Makefile Wid1
mainwindow.h moc_mainwindow.cpp Wid1.pro
medha@C528:~/Qtwokspace/Wid1$ file Wid1
Wid1: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0x00c92425a3333130034b285d1b15cbc3954c740b, not stripped
medha@C528:~/Qtwokspace/Wid1$ -
Cross-compiling is one thing, how did you install Qt on your board ?