Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. QtonPi
  4. Qt5.1 on Rasberry Pi (full install not cross-compile)
Forum Updated to NodeBB v4.3 + New Features

Qt5.1 on Rasberry Pi (full install not cross-compile)

Scheduled Pinned Locked Moved QtonPi
93 Posts 24 Posters 123.7k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    noormanman
    wrote on last edited by
    #82

    Succes on a Raspberry Pi 2
    It took me about 4 hours to configure and compile :)

    I did change the following: after ./configure and i changed "&> output" to "2>&1 | tee output", this way you can see that something happens

    Same with make and I added the -j 4 option to use more processor cores:
    make –j 4 2>&1 | tee make_output

    Total configure/build time: 4 hours. The cube application works, but I did not yet manage to make an xwindow application..

    1 Reply Last reply
    0
    • M mrelcee

      I've been struggling with getting QT5 compiled for my raspberry pi. I finally found the instructions here for compiling it..

      It took 46 HOURS to complete but I managed to get a working binary. Decided to save some people a lot of time,

      I'm no good at doing .deb files but I tarred and bzip2'd the folder up and made it available to the public on my blog. http://tinyurl.com/kza5uob

      All you need to do is uncompress/untar and sudo make install and do the modifications to bashrc..

      H Offline
      H Offline
      happycat
      wrote on last edited by
      #83

      @mrelcee
      Thanks, after spending a good part of 2 weeks on a version incompatiblilty problem, I finally found this post, downloaded, and installed the .deb file. I am now able to continue porting an application originally written for a Fedora 19 platform.

      50+ years, a Programmer, Designer, & Manager
      From Philco 2000 to Raspberry Pi processors.
      From Measurement and Control to Data Base applications.
      Happycat

      1 Reply Last reply
      0
      • RonLR Offline
        RonLR Offline
        RonL
        wrote on last edited by RonL
        #84

        Hi,
        This stuff is so frustrating for me. I guess I'm out of my league on this stuff.
        At any rate , I downloaded and installed the .deb file in this post. That appears to work fine.
        Now when I start Qt via a .pro file and attempt to configure Qt versions under build and run I QT reports this:
        "The default mkspec syncline is broken". This is after I point "qmake location" to
        /usr/local/qt5/bin/qmake.

        The QT creator version is 2.5.0

        What am I doing wrong?

        Thanks,
        Ron

        73
        Ron / W4MMP

        M 1 Reply Last reply
        0
        • M Offline
          M Offline
          mrz28s
          wrote on last edited by
          #85
          This post is deleted!
          1 Reply Last reply
          0
          • RonLR RonL

            Hi,
            This stuff is so frustrating for me. I guess I'm out of my league on this stuff.
            At any rate , I downloaded and installed the .deb file in this post. That appears to work fine.
            Now when I start Qt via a .pro file and attempt to configure Qt versions under build and run I QT reports this:
            "The default mkspec syncline is broken". This is after I point "qmake location" to
            /usr/local/qt5/bin/qmake.

            The QT creator version is 2.5.0

            What am I doing wrong?

            Thanks,
            Ron

            M Offline
            M Offline
            mrz28s
            wrote on last edited by
            #86

            @RonL Now that I got this to finally work, I'm having the same issues as you. Any .pro file I attempt to open says No Valid Qt versions found. I point it to Qt 5.5, and it's giving me the error you mentioned. (The default mkspec syncline is broken)

            1 Reply Last reply
            0
            • RonLR Offline
              RonLR Offline
              RonL
              wrote on last edited by
              #87

              Ok,
              I started from scratch and downloaded this source version: http://download.qt.io/official_releases/qt/5.4/5.4.1/single/qt-everywhere-opensource-src-5.4.1.tar.gz.mirrorlist .

              Twenty hours later I now have a working Qt5 environment (of sorts). The make install places Qt5 in the following directory: /usr/local/Qt-5.4.1 . The login PATH environment parameter needs to point to this directory. The PATH also needs to point to /usr/local/Qt-5.4.1/bin if you want to use qmake or any of the other Qt utilities.
              I am now able compile an application that needs QT5 with qmake. Although it has a compile time bug that is unrelated to Qt.

              Now, I down loaded Qt Creator from: http://download.qt.io/official_releases/qtcreator/3.3/3.3.2/qt-creator-opensource-src-3.3.2.tar.gz.mirrorlist. However it will not compile due to an incompatible version of Botan (under /src/libs/3rdparty). If there is a configuration parameter to instruct qmake NOT to include the 3rdparty stuff please let me know.
              Thanks,
              Ron

              73
              Ron / W4MMP

              M 1 Reply Last reply
              0
              • N Offline
                N Offline
                Neer
                Banned
                wrote on last edited by
                #88
                This post is deleted!
                1 Reply Last reply
                0
                • RonLR RonL

                  Ok,
                  I started from scratch and downloaded this source version: http://download.qt.io/official_releases/qt/5.4/5.4.1/single/qt-everywhere-opensource-src-5.4.1.tar.gz.mirrorlist .

                  Twenty hours later I now have a working Qt5 environment (of sorts). The make install places Qt5 in the following directory: /usr/local/Qt-5.4.1 . The login PATH environment parameter needs to point to this directory. The PATH also needs to point to /usr/local/Qt-5.4.1/bin if you want to use qmake or any of the other Qt utilities.
                  I am now able compile an application that needs QT5 with qmake. Although it has a compile time bug that is unrelated to Qt.

                  Now, I down loaded Qt Creator from: http://download.qt.io/official_releases/qtcreator/3.3/3.3.2/qt-creator-opensource-src-3.3.2.tar.gz.mirrorlist. However it will not compile due to an incompatible version of Botan (under /src/libs/3rdparty). If there is a configuration parameter to instruct qmake NOT to include the 3rdparty stuff please let me know.
                  Thanks,
                  Ron

                  M Offline
                  M Offline
                  mrz28s
                  wrote on last edited by
                  #89

                  @RonL Did you ever get QtCreator to work properly? If so, how did you do it?

                  I see other posts where people have installed Arch Linux and they are getting the files from the Arch Arm repository (Qt5.4.1, QtCreator 3.3.1) but I don't want to go that route. I'd rather just download the files I need.

                  1 Reply Last reply
                  0
                  • RonLR Offline
                    RonLR Offline
                    RonL
                    wrote on last edited by
                    #90

                    Hi,
                    No not as yet. I have been working with trying to get the Qt 5 libraries build with the features I need for the application that I'm trying to get working. Once that is accomplished I will focus on qtcreator. The whole process has not been pleasant.

                    Thanks,
                    Ron

                    73
                    Ron / W4MMP

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mrz28s
                      wrote on last edited by
                      #91
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • P postmako

                        Compiling on the raspberry pi is easy. Please follow my directions here:

                        Install packages needed for compiling:

                        sudo apt-get update
                        sudo apt-get upgrade
                        sudo apt-get install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libudev-dev libicu-dev libsqlite3-dev libxslt1-dev libssl-dev libasound2-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-good gstreamer0.10-plugins-bad libraspberrypi-dev libpulse-dev libx11-dev libglib2.0-dev libcups2-dev freetds-dev libsqlite0-dev libpq-dev libiodbc2-dev libmysqlclient-dev firebird-dev libpng12-dev libjpeg62-dev libgst-dev libxext-dev libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev libxi-dev libdrm-dev
                        

                        Then make your build directory:

                        mkdir ~/opt
                        cd ~/opt
                        

                        Retrieve qt5 source code from git:

                        git clone git://gitorious.org/qt/qt5.git
                        

                        Retrieve git sources for other components

                        cd qt5
                        ./init-repository
                        

                        Do not apply any patches. I got messed up with this part. The git source should compile with a few tricks in the configure parameters. First make sure you are in the qt5 directory.

                        cd ~/opt/qt5
                        

                        Configure qt5, you need to point the CROSS_COMPILE variable to /usr/bin/g++ (without the g++) otherwise it will complain that it is not being cross_compiled (this is a hack/trick). All output is stored in the file called 'output' in case something goes wrong. At the end of the output file it should say you can run 'make', if not look for errors at the end of the output but do not be concerned with some things not building due to missing packages, there will be errors for those. The last error is the show-stopper.
                        Run configure:

                        ./configure -v -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/usr/bin/ -opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -qt-pcre -make libs -prefix /usr/local/qt5 &> output
                        

                        Check the output file to see that it is building the components you need and that you can now run make. If not you may need to tweak your ~/opt/qt5/qtbase/configure script. I didn't have all of the dependencies installed when I first ran (so try the above first before changing your configure script) and I had to change the following in the ~/opt/qt5/qtbase/configure script (search for QT_CFLAGS_DBUS):

                        # flags for raspberry pi build
                        # flags for libdbus-1
                        QT_CFLAGS_DBUS="-I/usr/include/dbus-1.0/ -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/"
                        QT_LIBS_DBUS=-ldbus-1
                        
                        # flags for Glib (X11 only)
                        QT_CFLAGS_GLIB="-I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include/"
                        QT_LIBS_GLIB=-lglib-2.0
                        
                        QT_CFLAGS_PULSEAUDIO="-I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include/"
                        QT_LIBS_PULSEAUDIO="-lpulse -lpulse-mainloop-glib"
                        
                        # flags for GStreamer (X11 only)
                        QT_CFLAGS_GSTREAMER="-I/usr/include/gstreamer-0.10/ -I/usr/include/glib-2.0/ -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include/ -I/usr/include/libxml2/"
                        QT_LIBS_GSTREAMER=
                        

                        Search for QT_CFLAGS_FONTCONFIG in the configure script. It should be below the above entries, you need to change this one in the if statement to this:

                        QT_CFLAGS_FONTCONFIG=-I/usr/include/freetype2/
                        

                        Then you need to run make as follows (check for errors in the output_make file):

                        make &> output_make
                        

                        If that is good then run make install (check for errors in the output_make_install file):

                        sudo make install &> output_make_install
                        

                        After this you need to add some lines to your .bashrc file:

                        export LD_LIBRARY_PATH=/usr/local/qt5/lib/
                        export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/qt5/bin
                        

                        You need to source your .bashrc file to set-up the above environment variables:

                        source ~/.bashrc
                        

                        Then run this and check that it points to /usr/local/qt5/bin/qmake

                        which qmake
                        

                        After this you should be able to compile the sample applications and run them. Try the OpenGL Cube:

                        cp -r ~/opt/qt5/qtbase/examples/opengl/cube ~/
                        cd ~/cube
                        qmake
                        make
                        ./cube
                        

                        If I made any typos in the above post, please let me know. I tested this with the May 23rd version of Raspbian and it compiled fine.

                        J Offline
                        J Offline
                        joelmar
                        wrote on last edited by
                        #92

                        @postmako I get a "fatal: read error: Connection reset by peer" while cloning. Is there an alternative git repo?

                        1 Reply Last reply
                        0
                        • P postmako

                          OK, the wiki page is done!

                          Can someone please test this with a clean raspbian image and let me know if the configure script changes are still necessary?

                          "http://qt-project.org/wiki/Native_Build_of_Qt5_on_a_Raspberry_Pi":http://qt-project.org/wiki/Native_Build_of_Qt5_on_a_Raspberry_Pi

                          I hope this helps everyone.

                          J Offline
                          J Offline
                          joelmar
                          wrote on last edited by
                          #93

                          @postmako I tested the Native_Build_of_Qt_5.4.1_on_a_Raspberry_Pi steps as pointed in your wiki.

                          Any chances you'd have pointers to make it work with PyQt5. I have install PyQt5 (pip install python-qt5) but I am getting this:

                          pi@raspberrypi ~ $ python
                          Python 2.7.3 (default, Mar 18 2014, 05:13:23) 
                          [GCC 4.6.3] on linux2
                          Type "help", "copyright", "credits" or "license" for more information.
                          >>> import sys
                          >>> from PyQt5 import QtCore, QtGui, QtWebKit
                          Traceback (most recent call last):
                            File "<stdin>", line 1, in <module>
                          ImportError: cannot import name QtCore
                          

                          No sure how to read this message. I'd guessing that it still can't find Qt5 (?)

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved