QT50-Snapshot on Raspberry Pi



  • Hello,

    I need QT5 on Raspberry Pi for development and through all the search I did I was following "this link":http://qt-project.org/wiki/RaspberryPi to get the snapshot from the repo. But I am having problems in adding the deb repo to the source list. Here is the error:

    "Get:2 http://archive.qmh-project.org unstable Release [1447 B]
    Ign http://archive.qmh-project.org unstable Release
    E: GPG error: http://archive.qmh-project.org unstable Release: The following signatures were invalid: NODATA 1 NODATA 2
    "

    Many say that it is a network problem, but everything works well if I remove the qt deb, hence my problem.

    Anyone could give me a hand?

    Thank you very much!


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    No the answer you are looking for but did you consider cross-compiling Qt 5 ?



  • Hello, thanks for the reply!

    Yes I considered it, but I went through a lot of problems and, therefore, thought of using this pre-compiled version. Could you guide me through cross-compiling in real-time, so that I solve the problems I have at hand? The tutorial made by ICS didn't turn right for me.

    Thanks for all the help you may give!


  • Lifetime Qt Champion



  • Tryied to do it manuall and with the script. The script can't get the gcc-4.7-linaro, as it comes corrupted (" Saving to: ‘gcc-4.7-linaro-rpi-gnueabihf.tbz’

    100%[======================================>] 1.445 --.-K/s in 0s

    2014-10-24 22:49:41 (103 MB/s) - ‘gcc-4.7-linaro-rpi-gnueabihf.tbz’ saved [1445/1445]

    bzip2: (stdin) is not a bzip2 file.
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    Error extracting cross compilation tool "), and manuall I can't get the right gcc-4.7-linaro, and after searching for it on google, I found one that returns this error:
    "/home/roque/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ --sysroot=/mnt/rasp-pi-rootfs -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
    bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
    #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
    ^
    Symbolic function binding disabled.
    -reduce-relocations was requested but this compiler does not support it
    Re-run configure with -v for more information
    "

    Also, I can't set ./configure properly because of the above error and lastly, the /qtjsbackend folder does not exist on the git cloned repo.

    Sorry for all the amount of information, all of a sudden, but these are the errors I got. I am doing this on a Ubuntu 64-bit 14.04, and I installed ia32-libs. SGaist, I think you are the only one who can help me at this point. What are my alternatives?


  • Lifetime Qt Champion

    Are you sure the download is valid ?

    Anyway, look a bit further down the wiki, you'll see that they recommend the cross-compiler from http://gitorious.org/cross-compile-tools/ which, by the way, is more recent



  • Still not working SGaist :( Here is a printscreen that might help!

    http://i.imgur.com/8AhPVQP.png

    Thank you very much for the support!


  • Lifetime Qt Champion

    Remove the -reduce-relocations from the options like suggested, it should continue after that



  • That sorted out right, but then, another error and this one I could not fix:
    While making it, got this error:
    http://i.imgur.com/WY4nyte.png

    I tried to ignore it, but on the install got this one:
    http://i.imgur.com/Zejtzww.png

    Any advice on this?


  • Lifetime Qt Champion

    Run make without -j to get the error



  • Same:

    http://i.imgur.com/BmyMPEv.png

    [EDIT]: I have run just "make" to get to that error.


  • Lifetime Qt Champion

    It makes it more readable and ensures that you don't have several errors in parallel.

    Anyway, I wasn't hit by that one, however, replacing DISPMANX_TRANSFORM_T by VC_IMAGE_TRANSFORM_T should be enough in that case



  • THank you, all sorted out right now I think! Now doing dd to the sdcard. After I plug it in RPi, I assume that qt is all set up, so if I run qt on terminal it will recognize it, right?


  • Lifetime Qt Champion

    What do you mean by run Qt on terminal ?

    Since you cross-compiled Qt, you should start Qt Creator, Go to the Preferences, in Build and Run add your newly built Qt, make a kit using it. Add a Generic Device in devices and connect it to the Rasberry Pi.

    Then create a default application that you'll configure with your Raspberry specific Kit, build, run and enjoy !



  • Ok, but I need to compile a program that makes use of Qt to run in RaspberryPi, how can I do that?


  • Lifetime Qt Champion

    That's what the last paragraph describes, just start a new default project, select your Raspberry Kit, hit the run button which will trigger a build and start the application on the Pi (if you correctly add the device in the preferences)



  • ok, so first things first, How do I do all that? What manuals can I read? I am using Ubuntu (and sorry for my noobish knowledge on this, going for Qt for the first time, and it's not being an easy ride! ).

    EDIT: I don't have any Qt environment set-up!


  • Lifetime Qt Champion

    You don't have Qt Creator installed ? Then you should go and download the Linux package and install it.

    Then go through Qt's documentation/tutorials/examples



  • SGaist, afte rall, there was something wrong with qmake.

    http://i.imgur.com/uZcPyoQ.png

    Suggestions? I tried again sudo make install on qtbase folder, but reported this:

    "
    ntConfigVersion.cmake /mnt/rasp-pi-rootfs/usr/local/qt5pi/lib/cmake/Qt5Concurrent/
    make[2]: Leaving directory /home/roque/opt/qt5/qtbase/src/concurrent' cd gui/ && ( test -e Makefile || /home/roque/opt/qt5/qtbase/bin/qmake /home/roque/opt/qt5/qtbase/src/gui/gui.pro -o Makefile ) && make -f Makefile install make[2]: Entering directory/home/roque/opt/qt5/qtbase/src/gui'
    make[2]: *** No rule to make target /mnt/rasp-pi-rootfs/opt/vc/include/GLES2/gl2.h', needed by.obj/qaccessible.o'. Stop.
    make[2]: Leaving directory /home/roque/opt/qt5/qtbase/src/gui' make[1]: *** [sub-gui-install_subtargets] Error 2 make[1]: Leaving directory/home/roque/opt/qt5/qtbase/src'
    make: *** [sub-src-install_subtargets] Error 2
    roque@Roque-Ubuntu:~/opt/qt5/qtbase$ sudo -e Makefile || /home/roque/opt/qt5/qtbase/bin/qmake /home/roque/opt/qt5/qtbase/src/gui/gui.pro -o Makefile
    sudo: Makefile unchanged
    roque@Roque-Ubuntu:~/opt/qt5/qtbase$ sudo -e Makefile || /home/roque/opt/qt5/qtbase/bin/qmake /home/roque/opt/qt5/qtbase/src/gui/gui.pro -o Makefile
    sudo: Makefile unchanged
    "

    [EDIT] Also, error output while trying to build:
    "Project ERROR: Unknown module(s) in QT: quick
    22:56:03: The process "/usr/local/qt5pi/bin/qmake" exited with code 3.
    Error while building/deploying project helloworld (kit: Raspberry Pi)
    When executing step "qmake"
    22:56:03: Elapsed time: 00:00."


  • Lifetime Qt Champion

    Did you mount your Raspberry Pi fs ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.