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 124.4k 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.
  • 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