Raspberry Pi 3: debug info, how to fix?
-
@SSGaist
can you help me out of this problem? thank you!
@jsulm
i have check the files , both ligQt5OpenGL.so and libQt5Multimedia.so exists,
and the build output is still:
/home/tong/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
/home/tong/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
/home/tong/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLContext::currentContext()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::setAttributeArray(char const*, float const*, int, int)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::hasOpenGLShaderPrograms(QGLContext const*)@Qt_5' /home/tong/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference toQStaticTextItem::setFontEngine(QFontEngine*)'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::addShaderFromSourceCode(QFlagsQGLShader::ShaderTypeBit, char const*)@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLContext::contextHandle() const@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::removeAllShaders()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::enableAttributeArray(char const*)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::link()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::QGLShaderProgram(QGLContext const*, QObject*)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::release()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::setUniformValue(char const*, QMatrix4x4 const&)@Qt_5'
/home/tong/raspi/sysroot/usr/lib/libactivemq-cpp.so: undefined reference to std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::~QGLShaderProgram()@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::log() const@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::setUniformValue(char const*, float const () [4])@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLShaderProgram::setUniformValue(char const, int)@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::bind()@Qt_5'
collect2: error: ld returned 1 exit status -
@JiujiuTong As I said "skipping incompatible" message means that the library is build for a different architecture. You're most probably mixing architectures.
/usr/lib/libpthread.so - this looks like a path on your host PC. You cannot use libraries from your host PC (X86_64) to cross compile for ARM. -
@JiujiuTong Can you show your configure call?
-
@jsulm
my configure is :
"./configure -release -opengl es2 -skip webengine -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v "
my host is centos 7 x64, the target is raspberry pi3. thank you ! -
@JiujiuTong Does your sysroot contain all that incompatible libraries (like libpthread.so)?
-
@jsulm
can you explain more precise, i'm just following the ways list by:
http://wiki.qt.io/RaspberryPi2EGLFS
should i do something else, if so can you help me ? -
@JiujiuTong "-sysroot ~/raspi/sysroot" - does ~/raspi/sysroot contain file libpthread.so ?
-
@JiujiuTong My question was: does it contain that file?
-
@jsulm
yes,there is a libpthread.so -
-
@jsulm
sorry for my late reply
these days i have been rework the job. just following the steps again.
now there is another error :
/usr/include/math.h:31: error: bits/math-vector.h: No such file or directory
#include <bits/math-vector.h>
i try to find the file bits/math-vector.h ,but there is no such file
and i searched that is should be included in libc6-dev package.
but i have installed the latest package , but still no such file
is there any other ways to fix it? thank you very much ! -
@JiujiuTong said in Qt on rpi3 , debug info ,how to fix?:
@jsulm
sorry for my late reply
these days i have been rework the job. just following the steps again.
now there is another error :
/usr/include/math.h:31: error: bits/math-vector.h: No such file or directory
#include <bits/math-vector.h>
i try to find the file bits/math-vector.h ,but there is no such file
and i searched that is should be included in libc6-dev package.
but i have installed the latest package , but still no such file
is there any other ways to fix it? thank you very much !@jsulm it seems that the qtcreator do not using the files specified by sysroot(~/rapi/sysroot/usr/include/math.h), it is using files on host files /usr/include/math, how can i use the files under sysroot ?thank you !
-
@JiujiuTong How did you configure the kit in QtCreator? If it is set up correctly then it should work.
-
@jsulm
i think the configure is correct, i am following the steps :
http://wiki.qt.io/RaspberryPi2EGLFS
first create device ,then configure compiler,debug, and Qtversion. Go to Options -> Build & Run with sysroot path selected.
i add the absolute path in the project, then it seem ok now with one problem:
https://forum.qt.io/topic/77854/error-undefined-reference-to-std-__throw_out_of_range_fmt-char-const-glibcxx_3-4-20/3
can you help me? -
@JiujiuTong Did you try what @SGaist suggested?
-
@JiujiuTong Failed? Same problem?
-
關於這個錯誤:
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to QGLContext::currentContext()@Qt_5'
....
...我是加入:
.pro:
QT += opengl
才解決此問題的會加 qt += opengl 是因為 QGLContext::currentContext() ...etc 來自於 opengl
我覺得這 error 是因為 Qt5MultimediaWidgets 於 Embedded 時,會去呼叫 opengl 方法的關係希望對你有幫助。