Installation QT 5.11 on Raspberry Pi 3
-
i configured everythin by manual one more time, now when i create empty qtquick project in qtcreator and try to build it, i have in console output:
cannot run target compiler 'arm-linux-gnueabihf-g++'
-
here is the output:
16:24:47: Выполняются этапы для проекта 111... 16:24:47: Запускается: «/opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake» /home/pasha/111/111.pro -spec devices/linux-rasp-pi3-g++ CONFIG+=debug CONFIG+=qml_debug Project ERROR: Cannot run target compiler 'arm-linux-gnueabihf-g++'. Output: =================== Using built-in specs. COLLECT_GCC=arm-linux-gnueabihf-g++ Target: arm-linux-gnueabihf Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/src/gcc-linaro-4.8-2014.01/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv6 --with-tune=arm1176jz-s --with-fpu=vfp --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-float=hard Thread model: posix gcc version 4.8.3 20140106 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) COLLECT_GCC_OPTIONS='-march=armv8-a' '-mtune=cortex-a53' '-mfpu=crypto-neon-fp-armv8' '-mfloat-abi=hard' '-E' '-v' '-shared-libgcc' '-mtls-dialect=gnu' /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/cc1plus -E -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -iprefix /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/ -isysroot /opt/qt5pi/sysroot -D_GNU_SOURCE - -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -mtls-dialect=gnu /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/cc1plus: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory =================== Maybe you forgot to setup the environment? 16:24:47: Процесс «/opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake» завершился с кодом 3. Ошибка при сборке/установке проекта 111 (комплект: Raspberry) Во время выполнения этапа «qmake» 16:24:47: Прошло времени: 00:00. my path to qmake: ``` /opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake
is it ok?
-
here is the output:
16:24:47: Выполняются этапы для проекта 111... 16:24:47: Запускается: «/opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake» /home/pasha/111/111.pro -spec devices/linux-rasp-pi3-g++ CONFIG+=debug CONFIG+=qml_debug Project ERROR: Cannot run target compiler 'arm-linux-gnueabihf-g++'. Output: =================== Using built-in specs. COLLECT_GCC=arm-linux-gnueabihf-g++ Target: arm-linux-gnueabihf Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/src/gcc-linaro-4.8-2014.01/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv6 --with-tune=arm1176jz-s --with-fpu=vfp --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-float=hard Thread model: posix gcc version 4.8.3 20140106 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) COLLECT_GCC_OPTIONS='-march=armv8-a' '-mtune=cortex-a53' '-mfpu=crypto-neon-fp-armv8' '-mfloat-abi=hard' '-E' '-v' '-shared-libgcc' '-mtls-dialect=gnu' /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/cc1plus -E -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -iprefix /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/ -isysroot /opt/qt5pi/sysroot -D_GNU_SOURCE - -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -mtls-dialect=gnu /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/cc1plus: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory =================== Maybe you forgot to setup the environment? 16:24:47: Процесс «/opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake» завершился с кодом 3. Ошибка при сборке/установке проекта 111 (комплект: Raspberry) Во время выполнения этапа «qmake» 16:24:47: Прошло времени: 00:00. my path to qmake: ``` /opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake
is it ok?
@gogoer said in Installation QT 5.11 on Raspberry Pi 3:
libz.so.1: cannot open shared object file: No such file or directory
Where is your sysroot and does it contain libz.so.1?
-
I compiled my project and copy executable file to RPI.
But when I execute it, i have error*failed to add service - already in use?
it crashes on function
QGuiApplication app(argc, argv);
and one more question: i create and install qt5.10 on ubuntu, what i need to do to update qt version on RPI? as i understand it still uses old version.
-
I compiled my project and copy executable file to RPI.
But when I execute it, i have error*failed to add service - already in use?
it crashes on function
QGuiApplication app(argc, argv);
and one more question: i create and install qt5.10 on ubuntu, what i need to do to update qt version on RPI? as i understand it still uses old version.
@gogoer I don't know what "service" is mentioned in the error.
"install qt5.10 on ubuntu, what i need to do to update qt version on RPI" - do you mean you cross-compiled Qt 5.10 on your Ubuntu machine? If so you can copy the libs to the same location or RPi you defined using -prefix parameter. -
i created blank QTQuick application and compile it.
when i start it on RPI have error:QML debugging is enabled. Only use this in a safe environment. * failed to add service - already in use?
one more question:
where i can configure path to copy on RPI? now after pressing Run button executable file copies to /opt/ directory on ubuntu. i want to change it, but cant find where to do this. -
i created blank QTQuick application and compile it.
when i start it on RPI have error:QML debugging is enabled. Only use this in a safe environment. * failed to add service - already in use?
one more question:
where i can configure path to copy on RPI? now after pressing Run button executable file copies to /opt/ directory on ubuntu. i want to change it, but cant find where to do this.@gogoer Come on, you're already using -prefix parameter:
"../qt-everywhere-src-5.11.2/configure -v -opengl es2 -eglfs -no-gtk -device linux-rasp-pi-g++
-opensource -confirm-license -reduce-exports
-force-pkg-config -nomake examples -no-compile-examples -release
-qt-pcre -ssl -evdev -system-freetype -fontconfig -glib -prefix /opt/qt5"So, you should copy Qt to /opt/qt5
-
i compiled all by this manual: http://ulasdikme.com/projects/raspberry/Qt_for_raspberrypi.php
i used:../qt-everywhere-src-5.10.1/configure -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf- -sysroot /opt/qt5pi/sysroot -prefix /usr/local/qt5pi -opensource -confirm-license -skip qtscript -nomake examples -make libs -pkg-config -no-use-gold-linker -v
i have qt libs on /usr/local/qt5pi on my RPI.
if i compile project on PRI natively and run it works.
but if i compile same project on ubuntu and copy executable file to RPI it gives error:* failed to add service - already in use?
maybe i need to copy something else?
-
i compiled all by this manual: http://ulasdikme.com/projects/raspberry/Qt_for_raspberrypi.php
i used:../qt-everywhere-src-5.10.1/configure -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf- -sysroot /opt/qt5pi/sysroot -prefix /usr/local/qt5pi -opensource -confirm-license -skip qtscript -nomake examples -make libs -pkg-config -no-use-gold-linker -v
i have qt libs on /usr/local/qt5pi on my RPI.
if i compile project on PRI natively and run it works.
but if i compile same project on ubuntu and copy executable file to RPI it gives error:* failed to add service - already in use?
maybe i need to copy something else?
@gogoer What service is it talking about? What is your application actually trying to do? Maybe cut it down to a helloworld app to test with and make sure Qt is working properly. Or at least add logging to your application so you can see at what point it comes up with that error.
Also you can try running strace on your exe to see what it is trying to do when it fails. Sometimes that will give you some insight.
I've never seen that error from Qt. And I've used it for like 18 years now.
Edit: Ah this makes sense now ... it's a Pi thing.
https://www.raspberrypi.org/forums/viewtopic.php?t=12581
That's an old topic but it should give you some ideas.. Seems to have to do with memory.
-
@ambershark said in Installation QT 5.11 on Raspberry Pi 3:
What service is it talking about? What is your application actually trying to do? Maybe cut it down to a helloworld app to test with and make sure Qt is working properly.
I created a blank QTQuick project with only HelloWorld window and it gives such error, when i start it. Error crashes on
QGuiApplication app(argc, argv);
function.
But if i create or compile project on RPI (it uses QT5.3 and QTCreator1.2.3) everything works well.
-
What does
ldd <yourexe>
show (the exe you loaded on the Pi)? I wonder if you're missing a library or it's mixing Qt versions on the Pi and the ones you loaded. -
pi@raspberrypi:/opt/untitled/bin $ ./untitled QML debugging is enabled. Only use this in a safe environment. * failed to add service - already in use? pi@raspberrypi:/opt/untitled/bin $ ldd untitled linux-vdso.so.1 (0x7ee46000) /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f45000) libQt5Quick.so.5 => /usr/local/qt5pi/lib/libQt5Quick.so.5 (0x76bbb000) libQt5Gui.so.5 => /usr/local/qt5pi/lib/libQt5Gui.so.5 (0x76706000) libQt5Qml.so.5 => /usr/local/qt5pi/lib/libQt5Qml.so.5 (0x7636e000) libQt5Network.so.5 => /usr/local/qt5pi/lib/libQt5Network.so.5 (0x76200000) libQt5Core.so.5 => /usr/local/qt5pi/lib/libQt5Core.so.5 (0x75cb6000) libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x75c74000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x75c4c000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x75b70000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x75af5000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x75ac8000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75987000) libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x75957000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x75930000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75919000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75906000) libgthread-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0x758f4000) libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x757f1000) /lib/ld-linux-armhf.so.3 (0x76f5a000) libEGL.so => /opt/vc/lib/libEGL.so (0x757b8000) libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x75791000) libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x7577b000) libvcos.so => /opt/vc/lib/libvcos.so (0x75761000) libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x756ee000)
-
pi@raspberrypi:/opt/untitled/bin $ ./untitled QML debugging is enabled. Only use this in a safe environment. * failed to add service - already in use? pi@raspberrypi:/opt/untitled/bin $ ldd untitled linux-vdso.so.1 (0x7ee46000) /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f45000) libQt5Quick.so.5 => /usr/local/qt5pi/lib/libQt5Quick.so.5 (0x76bbb000) libQt5Gui.so.5 => /usr/local/qt5pi/lib/libQt5Gui.so.5 (0x76706000) libQt5Qml.so.5 => /usr/local/qt5pi/lib/libQt5Qml.so.5 (0x7636e000) libQt5Network.so.5 => /usr/local/qt5pi/lib/libQt5Network.so.5 (0x76200000) libQt5Core.so.5 => /usr/local/qt5pi/lib/libQt5Core.so.5 (0x75cb6000) libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x75c74000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x75c4c000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x75b70000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x75af5000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x75ac8000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x75987000) libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x75957000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x75930000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75919000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75906000) libgthread-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgthread-2.0.so.0 (0x758f4000) libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x757f1000) /lib/ld-linux-armhf.so.3 (0x76f5a000) libEGL.so => /opt/vc/lib/libEGL.so (0x757b8000) libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x75791000) libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x7577b000) libvcos.so => /opt/vc/lib/libvcos.so (0x75761000) libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x756ee000)
@gogoer All that looks ok. Figured you would have mixed libraries. You can dig deeper by running ldd on each Qt lib but I don't think it will show what i was expecting.
Can you run it in a gdb and dig into the part of the code that is causing that failure? I know you said it was in QApplication but can you provide any more information? If not I don't have any more ideas ... it seems like it was compiled or installed incorrectly on the Pi but I don't know why.