Raspberry Pi 3: debug info, how to fix?
-
@JiujiuTong said in Qt on rpi3 , debug info ,how to fix?:
hello:
after i finish cross complie on rpi3 following steps :
http://wiki.qt.io/RaspberryPi2EGLFS
then i start to debug a program, here are informaitons:
Could not load shared library symbols for 3 libraries, e.g. /usr/local/qt5pi/lib/libQt5Widgets.so.5.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for 3 libraries, e.g. /usr/local/qt5pi/plugins/platforms/libqeglfs.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/egldeviceintegrations/libqeglfs-brcm-integration.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqdds.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqgif.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqicns.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqico.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqjpeg.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqmng.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for 2 libraries, e.g. /usr/local/qt5pi/plugins/imageformats/libqsvg.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqtga.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqtiff.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqwbmp.so.
Do you need "set solib-search-path" or "set sysroot"?Could not load shared library symbols for /usr/local/qt5pi/plugins/imageformats/libqwebp.so.
Do you need "set solib-search-path" or "set sysroot"?Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
how can i fix it ? thank you !debug with QTcreator on host linux ,get these informations. how to fix, thank you!
-
@JiujiuTong You need debug version of Qt libraries. You can easily build both versions at the same time adding -debug-and-release parameter to configure command.
-
@JiujiuTong said in Qt on rpi3 , debug info ,how to fix?:
@jsulm
do you mean add -debug-and-release option in configure command before install qt ?i remeber when using native build method , the -debug-and-release option is invalid.
i will try to reconfig qt with this option. -
@JiujiuTong What do you mean by invalid? You need to rebuild Qt with that parameter.
-
@JiujiuTong Do you actually want to debug Qt libs? If not then you do not need a debug build and you can just ignore those warnings.
-
@JiujiuTong Yes it is OK. Just build your project in Debug mode.
-
@jsulm
another question:
my host is Centos 7 x64 , should i change`the following :
Go to Options -> Compilers
Add
GCC
Compiler path: ~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++
to
Go to Options -> Compilers
Add
GCC
Compiler path: ~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
in Qt Creator configuration? -
@jsulm
my project compile output is :
/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 toQGLContext::currentContext()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::setAttributeArray(char const*, float const*, int, int)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::hasOpenGLShaderPrograms(QGLContext const*)@Qt_5' /home/tong/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libQt5OpenGL.so.5: undefined reference to
QStaticTextItem::setFontEngine(QFontEngine*)'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::addShaderFromSourceCode(QFlags<QGLShader::ShaderTypeBit>, char const*)@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLContext::contextHandle() const@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::removeAllShaders()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::enableAttributeArray(char const*)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::link()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::QGLShaderProgram(QGLContext const*, QObject*)@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::release()@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::setUniformValue(char const*, QMatrix4x4 const&)@Qt_5'
/home/tong/raspi/sysroot/usr/lib/libactivemq-cpp.so: undefined reference tostd::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::~QGLShaderProgram()@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::log() const@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::setUniformValue(char const*, float const (*) [4])@Qt_5'
/home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference toQGLShaderProgram::setUniformValue(char const*, int)@Qt_5' /home/tong/raspi/qt5pi/lib/libQt5MultimediaWidgets.so: undefined reference to
QGLShaderProgram::bind()@Qt_5'
collect2: error: ld returned 1 exit status
make: *** [FMT] Error 1
23:37:26: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project FMT (kit: rpi3)
When executing step "Make"
do you know what's wrong with it ? thank you very much!! my project is cross complier project, my host is centos 7 64bit ,my target device is rpi3 following the steps :
http://wiki.qt.io/RaspberryPi2E
the difference is that my QT5.7.1 source code is download form QT not from git, and i run the configure command (./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) under Qt5.7.1 directory not under Qtbase, so i think all modules except webengine are installed. and i configure QT creator with raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/ /arm-linux-gnueabihf-g++
and i skipped the "11. Still on the device, fix the EGL/GLES library nonsense:"
the error informations seems to relative with qtmultimedia and qtthread. i really don't know how to fix with this. please help me,thank you! -
@JiujiuTong It doesn't matter whether the compiler itself is 32bit or 64bit.
Regarding errors: were QtMultimedia and Qt OpenGL modules built? -
@jsulm
do you mean QtMultimedia and Qt OpenGL were not built ?
in qt-everywhere-opensource Qt5.7.1, with "./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 ", i think these module should be built , how to check if these modules were built or not ? -
@JiujiuTong Are the libraries there?
-
@jsulm
Qt OpenGL modules? it seems no this module there.
and i rebuild QtMultimedia module, it's no problem
there is no need to install OpenGL in raspberry 3 ,right?
in my host i have install openGL now ,it still doesn't work -
@jsulm
i can find libQt5MultimediaWidgets.so , but i don't know where to find openGL related files... -
@JiujiuTong What about libQt5OpenGL.so ?
-
@jsulm
I reconfigure and reinstall the QT,and find the opengl related files in the source qtbase ,
I also find the libQt5OpenGL.so after reinstall. I will retry the project later. thank you for your informs.