Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to build Qt on system without a GUI?
Forum Updated to NodeBB v4.3 + New Features

How to build Qt on system without a GUI?

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
92 Posts 7 Posters 26.3k 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.
  • P Offline
    P Offline
    Pavel_47
    wrote on 28 Oct 2019, 10:04 last edited by
    #64

    I contacted Ran Benita, the developer of xkbcommon package, and exposed him the problem. After some checks on my system, here is his conclusion:

    "The version of libxkbcommon you have in your arm-linux-gnueabihf raspi/sysroot is very very old. Qt requires a newer version. You should update your cross-compilation environment to something more recent."

    Where /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libxkbcommon.so comes from ?

    J 1 Reply Last reply 28 Oct 2019, 13:26
    0
    • P Pavel_47
      28 Oct 2019, 10:04

      I contacted Ran Benita, the developer of xkbcommon package, and exposed him the problem. After some checks on my system, here is his conclusion:

      "The version of libxkbcommon you have in your arm-linux-gnueabihf raspi/sysroot is very very old. Qt requires a newer version. You should update your cross-compilation environment to something more recent."

      Where /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libxkbcommon.so comes from ?

      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 28 Oct 2019, 13:26 last edited by
      #65

      @Pavel_47 said in How to build Qt on system without a GUI?:

      Where /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libxkbcommon.so comes from ?

      From your Raspberry Pi when you're syncing it...
      What exact OS (including version) do you run on it?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • P Offline
        P Offline
        Pavel_47
        wrote on 28 Oct 2019, 13:33 last edited by
        #66

        uname -a
        Linux raspberry 4.9.77-v7+

        cat /etc/os-release
        Raspian GNU/Linux 8 (jessie)

        J 1 Reply Last reply 28 Oct 2019, 13:35
        0
        • P Pavel_47
          28 Oct 2019, 13:33

          uname -a
          Linux raspberry 4.9.77-v7+

          cat /etc/os-release
          Raspian GNU/Linux 8 (jessie)

          J Offline
          J Offline
          jsulm
          Lifetime Qt Champion
          wrote on 28 Oct 2019, 13:35 last edited by
          #67

          @Pavel_47 You can try to upgrade to current Raspbian version and then recreate your sysroot.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • P Offline
            P Offline
            Pavel_47
            wrote on 28 Oct 2019, 13:45 last edited by
            #68

            Well ... I did it just before resync. Then, as I remember, after some manipulations with other staff, system proposed to remove unused files ... and I did it. Ok, I'll try to upgrade one more time. Then what should I check on RPi3, that xkbcommon package is latest version ?

            P 1 Reply Last reply 28 Oct 2019, 13:47
            0
            • P Pavel_47
              28 Oct 2019, 13:45

              Well ... I did it just before resync. Then, as I remember, after some manipulations with other staff, system proposed to remove unused files ... and I did it. Ok, I'll try to upgrade one more time. Then what should I check on RPi3, that xkbcommon package is latest version ?

              P Offline
              P Offline
              Pablo J. Rogina
              wrote on 28 Oct 2019, 13:47 last edited by
              #69

              @Pavel_47 said in How to build Qt on system without a GUI?:

              I'll try to upgrade one more time. Then what should I check on RPi3, that xkbcommon package is latest version ?

              please be aware that @jsulm is suggesting to update your OS, not just that library/package...

              Latest Raspbian release is Buster

              Upvote the answer(s) that helped you solve the issue
              Use "Topic Tools" button to mark your post as Solved
              Add screenshots via postimage.org
              Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

              1 Reply Last reply
              1
              • P Offline
                P Offline
                Pavel_47
                wrote on 28 Oct 2019, 14:01 last edited by
                #70

                Yes, I understood the suggestion and upgraded system ... but being within "jessie". The Buster is quite new version, released 3-4 months ago. Ran Benita qualified xkbcommon staff, that caused problems and that originates from Raspberry (if my comprehension is correct), as "very very old". So, let's say in May 2019 (before Buster) it was impossible to install Qt toolchain ... or I missed something ? I've just checked upgrade to Buster ... according to some manual I've found on the web, it could take several hours. So, is it really necessary to upgrade to Buster ?

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  Pavel_47
                  wrote on 28 Oct 2019, 14:27 last edited by
                  #71

                  Has anyone managed to install Qt toolchain on Ubuntu that was synchronized with RPi running Buster ? If it's the case I will immediately buy new RPi4 and install Buster on it.

                  J 1 Reply Last reply 29 Oct 2019, 06:12
                  0
                  • P Pavel_47
                    28 Oct 2019, 14:27

                    Has anyone managed to install Qt toolchain on Ubuntu that was synchronized with RPi running Buster ? If it's the case I will immediately buy new RPi4 and install Buster on it.

                    J Offline
                    J Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on 29 Oct 2019, 06:12 last edited by
                    #72

                    @Pavel_47 I plan to do so this week. I already have RPi4, but need to install Buster first. Can't tell you when exactly I will do all this. You can ping me end of week (if it is not that urgent :-)).

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    1
                    • P Offline
                      P Offline
                      Pavel_47
                      wrote on 11 Feb 2020, 11:21 last edited by
                      #73

                      Finally I've tried to build Qt toolchain for RPi4 using this tutorial:
                      Cross-Compile QT 5.12.6 / Raspberry Pi 4
                      Once more ... doesn't work.
                      Here is what I get while launching configure:

                      make[2]: Leaving directory '/home/pavel/qtbase/src/widgets'
                      make[1]: Leaving directory '/home/pavel/qtbase/src'
                      Makefile:50: recipe for target 'sub-src-make_first' failed
                      make: *** [sub-src-make_first] Error 2
                      

                      Any suggestions ?

                      J 1 Reply Last reply 11 Feb 2020, 11:30
                      0
                      • P Pavel_47
                        11 Feb 2020, 11:21

                        Finally I've tried to build Qt toolchain for RPi4 using this tutorial:
                        Cross-Compile QT 5.12.6 / Raspberry Pi 4
                        Once more ... doesn't work.
                        Here is what I get while launching configure:

                        make[2]: Leaving directory '/home/pavel/qtbase/src/widgets'
                        make[1]: Leaving directory '/home/pavel/qtbase/src'
                        Makefile:50: recipe for target 'sub-src-make_first' failed
                        make: *** [sub-src-make_first] Error 2
                        

                        Any suggestions ?

                        J Offline
                        J Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on 11 Feb 2020, 11:30 last edited by jsulm 2 Nov 2020, 11:31
                        #74

                        @Pavel_47 said in How to build Qt on system without a GUI?:

                        Any suggestions ?

                        You did not post the actual errors - those should be before these lines.
                        Also, did you call configure from a clean state?

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • P Offline
                          P Offline
                          Pavel_47
                          wrote on 11 Feb 2020, 11:47 last edited by
                          #75

                          The log is quite huge, but concerning just before lines, here it is:

                          rm -f libQt5Widgets.so.5.12.6 libQt5Widgets.so libQt5Widgets.so.5 libQt5Widgets.so.5.12
                          /home/pavel/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ -mfloat-abi=hard --sysroot=/home/pavel/raspi/sysroot/ -Wl,--no-undefined -Wl,--version-script,QtWidgets.version -Wl,-O1 -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$ORIGIN -Wl,-rpath-link,/home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/pavel/raspi/sysroot/lib/arm-linux-gnueabihf -shared -Wl,-soname,libQt5Widgets.so.5 -o libQt5Widgets.so.5.12.6 .obj/qaction.o .obj/qactiongroup.o .obj/qapplication.o .obj/qwidgetbackingstore.o .obj/qboxlayout.o .obj/qgridlayout.o .obj/qlayout.o .obj/qlayoutengine.o .obj/qlayoutitem.o .obj/qshortcut.o .obj/qsizepolicy.o .obj/qstackedlayout.o .obj/qtooltip.o .obj/qwidget.o .obj/qwidgetaction.o .obj/qgesture.o .obj/qstandardgestures.o .obj/qgesturerecognizer.o .obj/qgesturemanager.o .obj/qdesktopwidget.o .obj/qwidgetsvariant.o .obj/qwidgetwindow.o .obj/qwindowcontainer.o .obj/qtestsupport_widgets.o .obj/qopenglwidget.o .obj/qformlayout.o .obj/qwhatsthis.o .obj/qdrawutil.o .obj/qstyle.o .obj/qstylefactory.o .obj/qstyleoption.o .obj/qstyleplugin.o .obj/qstylehelper.o .obj/qcommonstyle.o .obj/qproxystyle.o .obj/qstylepainter.o .obj/qstylesheetstyle.o .obj/qstylesheetstyle_default.o .obj/qpixmapstyle.o .obj/qstyleanimation.o .obj/qwindowsstyle.o .obj/qfusionstyle.o .obj/qframe.o .obj/qabstractscrollarea.o .obj/qfocusframe.o .obj/qwidgetanimator.o .obj/qabstractbutton.o .obj/qabstractslider.o .obj/qbuttongroup.o .obj/qcalendarwidget.o .obj/qcheckbox.o .obj/qcombobox.o .obj/qcommandlinkbutton.o .obj/qdatetimeedit.o .obj/qdial.o .obj/qdockwidget.o .obj/qdockarealayout.o .obj/qeffects.o .obj/qfontcombobox.o .obj/qgroupbox.o .obj/qkeysequenceedit.o .obj/qlabel.o .obj/qlcdnumber.o .obj/qlineedit_p.o .obj/qlineedit.o .obj/qwidgetlinecontrol.o .obj/qmainwindow.o .obj/qmainwindowlayout.o .obj/qmdiarea.o .obj/qmdisubwindow.o .obj/qmenu.o .obj/qmenubar.o .obj/qprogressbar.o .obj/qpushbutton.o .obj/qradiobutton.o .obj/qwidgetresizehandler.o .obj/qdialogbuttonbox.o .obj/qrubberband.o .obj/qscrollarea.o .obj/qscrollbar.o .obj/qsizegrip.o .obj/qslider.o .obj/qabstractspinbox.o .obj/qspinbox.o .obj/qsplashscreen.o .obj/qsplitter.o .obj/qstackedwidget.o .obj/qstatusbar.o .obj/qtabbar.o .obj/qplaintextedit.o .obj/qtextedit.o .obj/qtextbrowser.o .obj/qtabwidget.o .obj/qtoolbar.o .obj/qtoolbarlayout.o .obj/qtoolbararealayout.o .obj/qtoolbarseparator.o .obj/qtoolbox.o .obj/qtoolbutton.o .obj/qtoolbarextension.o .obj/qwidgettextcontrol.o .obj/qcolordialog.o .obj/qdialog.o .obj/qerrormessage.o .obj/qfiledialog.o .obj/qsidebar.o .obj/qfilesystemmodel.o .obj/qfileinfogatherer.o .obj/qfontdialog.o .obj/qinputdialog.o .obj/qmessagebox.o .obj/qprogressdialog.o .obj/qwizard.o .obj/qaccessiblewidget.o .obj/qaccessiblewidgetfactory.o .obj/complexwidgets.o .obj/qaccessiblemenu.o .obj/qaccessiblewidgets.o .obj/rangecontrols.o .obj/simplewidgets.o .obj/itemviews.o .obj/qabstractitemview.o .obj/qheaderview.o .obj/qbsptree.o .obj/qabstractitemdelegate.o .obj/qitemdelegate.o .obj/qitemeditorfactory.o .obj/qstyleditemdelegate.o .obj/qcolumnview.o .obj/qcolumnviewgrip.o .obj/qdatawidgetmapper.o .obj/qdirmodel.o .obj/qlistview.o .obj/qlistwidget.o .obj/qtableview.o .obj/qtablewidget.o .obj/qtreeview.o .obj/qtreewidget.o .obj/qtreewidgetitemiterator.o .obj/qfileiconprovider.o .obj/qgraphicsgridlayout.o .obj/qgraphicsitem.o .obj/qgraphicsitemanimation.o .obj/qgraphicslayout.o .obj/qgraphicslayout_p.o .obj/qgraphicslayoutitem.o .obj/qgraphicslinearlayout.o .obj/qgraphicsproxywidget.o .obj/qgraphicsscene.o .obj/qgraphicsscene_bsp.o .obj/qgraphicsscenebsptreeindex.o .obj/qgraphicssceneevent.o .obj/qgraphicssceneindex.o .obj/qgraphicsscenelinearindex.o .obj/qgraphicstransform.o .obj/qgraphicsview.o .obj/qgraphicswidget.o .obj/qgraphicswidget_p.o .obj/qgraphicslayoutstyleinfo.o .obj/qgraphicsgridlayoutengine.o .obj/qsimplex_p.o .obj/qgraphicsanchorlayout_p.o .obj/qgraphicsanchorlayout.o .obj/qsystemtrayicon.o .obj/qcolormap.o .obj/qcompleter.o .obj/qscroller.o .obj/qscrollerproperties.o .obj/qflickgesture.o .obj/qundostack.o .obj/qundogroup.o .obj/qundoview.o .obj/qsystemtrayicon_x11.o .obj/qguistatemachine.o .obj/qkeyeventtransition.o .obj/qmouseeventtransition.o .obj/qbasickeyeventtransition.o .obj/qbasicmouseeventtransition.o .obj/qgraphicseffect.o .obj/qpixmapfilter.o .obj/qrc_qstyle.o .obj/qrc_qmessagebox.o .obj/moc_qpixmapstyle_p.o  /home/pavel/qtbase/lib/libQt5Gui.so /home/pavel/qtbase/lib/libQt5Core.so -lpthread /home/pavel/raspi/sysroot//usr/lib/arm-linux-gnueabihf/libGLESv2.so   
                          ln -s libQt5Widgets.so.5.12.6 libQt5Widgets.so
                          ln -s libQt5Widgets.so.5.12.6 libQt5Widgets.so.5
                          ln -s libQt5Widgets.so.5.12.6 libQt5Widgets.so.5.12
                          rm -f ../../lib/libQt5Widgets.so.5.12.6
                          mv -f libQt5Widgets.so.5.12.6 ../../lib/libQt5Widgets.so.5.12.6
                          rm -f ../../lib/libQt5Widgets.so
                          rm -f ../../lib/libQt5Widgets.so.5
                          rm -f ../../lib/libQt5Widgets.so.5.12
                          mv -f libQt5Widgets.so ../../lib/libQt5Widgets.so
                          mv -f libQt5Widgets.so.5 ../../lib/libQt5Widgets.so.5
                          mv -f libQt5Widgets.so.5.12 ../../lib/libQt5Widgets.so.5.12
                          make[2]: Leaving directory '/home/pavel/qtbase/src/widgets'
                          make[1]: Leaving directory '/home/pavel/qtbase/src'
                          Makefile:50: recipe for target 'sub-src-make_first' failed
                          make: *** [sub-src-make_first] Error 2
                          
                          Concerning clean state ... probably not. Last time I tried with RPi3 three months ago and I don't remember the state of the system when I abandoned my attempts wit RPi3.
                          But I'll try once more after cleaning
                          
                          1 Reply Last reply
                          0
                          • P Offline
                            P Offline
                            Pavel_47
                            wrote on 11 Feb 2020, 12:01 last edited by
                            #76

                            Sorry, I've bee mistaken: the error occurred after make -j4, ... not after configure

                            1 Reply Last reply
                            0
                            • P Offline
                              P Offline
                              Pavel_47
                              wrote on 11 Feb 2020, 12:24 last edited by
                              #77

                              Hear is after clean and launching make:

                              constant_mappings.cpp: In function ‘quint64 spiStatesFromQState(QAccessible::State)’:
                              constant_mappings.cpp:82:35: error: ‘ATSPI_STATE_READ_ONLY’ was not declared in this scope
                                       setSpiStateBit(&spiState, ATSPI_STATE_READ_ONLY);
                                                                 ^
                              Makefile:2911: recipe for target '.obj/constant_mappings.o' failed
                              make[3]: *** [.obj/constant_mappings.o] Error 1
                              make[3]: Leaving directory '/home/pavel/qtbase/src/platformsupport/linuxaccessibility'
                              Makefile:358: recipe for target 'sub-linuxaccessibility-make_first' failed
                              make[2]: *** [sub-linuxaccessibility-make_first] Error 2
                              make[2]: Leaving directory '/home/pavel/qtbase/src/platformsupport'
                              Makefile:585: recipe for target 'sub-platformsupport-make_first' failed
                              make[1]: *** [sub-platformsupport-make_first] Error 2
                              make[1]: Leaving directory '/home/pavel/qtbase/src'
                              Makefile:50: recipe for target 'sub-src-make_first' failed
                              make: *** [sub-src-make_first] Error 2
                              
                              
                              J 1 Reply Last reply 12 Feb 2020, 06:22
                              0
                              • P Pavel_47
                                11 Feb 2020, 12:24

                                Hear is after clean and launching make:

                                constant_mappings.cpp: In function ‘quint64 spiStatesFromQState(QAccessible::State)’:
                                constant_mappings.cpp:82:35: error: ‘ATSPI_STATE_READ_ONLY’ was not declared in this scope
                                         setSpiStateBit(&spiState, ATSPI_STATE_READ_ONLY);
                                                                   ^
                                Makefile:2911: recipe for target '.obj/constant_mappings.o' failed
                                make[3]: *** [.obj/constant_mappings.o] Error 1
                                make[3]: Leaving directory '/home/pavel/qtbase/src/platformsupport/linuxaccessibility'
                                Makefile:358: recipe for target 'sub-linuxaccessibility-make_first' failed
                                make[2]: *** [sub-linuxaccessibility-make_first] Error 2
                                make[2]: Leaving directory '/home/pavel/qtbase/src/platformsupport'
                                Makefile:585: recipe for target 'sub-platformsupport-make_first' failed
                                make[1]: *** [sub-platformsupport-make_first] Error 2
                                make[1]: Leaving directory '/home/pavel/qtbase/src'
                                Makefile:50: recipe for target 'sub-src-make_first' failed
                                make: *** [sub-src-make_first] Error 2
                                
                                
                                J Offline
                                J Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on 12 Feb 2020, 06:22 last edited by
                                #78

                                @Pavel_47 said in How to build Qt on system without a GUI?:

                                ATSPI_STATE_READ_ONLY

                                This belongs to libatspi. Do you have it and its dev package in your sysroot for RPi?

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                1 Reply Last reply
                                1
                                • P Offline
                                  P Offline
                                  Pavel_47
                                  wrote on 12 Feb 2020, 10:52 last edited by
                                  #79

                                  You mean in sysroot/lib/ ?
                                  No at that place there is no libatspi.

                                  1 Reply Last reply
                                  0
                                  • P Offline
                                    P Offline
                                    Pavel_47
                                    wrote on 12 Feb 2020, 11:26 last edited by
                                    #80

                                    @Pavel_47 said in How to build Qt on system without a GUI?:

                                    libatspi

                                    I've tried to install libatspi and libatspi-dev, but Ubuntu updater couldn't locate these packages. Should they come from synchronization with RPi ?

                                    J 1 Reply Last reply 12 Feb 2020, 11:26
                                    0
                                    • P Pavel_47
                                      12 Feb 2020, 11:26

                                      @Pavel_47 said in How to build Qt on system without a GUI?:

                                      libatspi

                                      I've tried to install libatspi and libatspi-dev, but Ubuntu updater couldn't locate these packages. Should they come from synchronization with RPi ?

                                      J Offline
                                      J Offline
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on 12 Feb 2020, 11:26 last edited by
                                      #81

                                      @Pavel_47 said in How to build Qt on system without a GUI?:

                                      Should they come from synchronization with RPi ?

                                      Yes

                                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        Pavel_47
                                        wrote on 12 Feb 2020, 11:36 last edited by
                                        #82

                                        So, should I install them on RPi and then re-synchronize ?

                                        1 Reply Last reply
                                        0
                                        • P Offline
                                          P Offline
                                          Pavel_47
                                          wrote on 12 Feb 2020, 11:50 last edited by
                                          #83

                                          The Raspberry Pi also could not locate these packages.

                                          J 1 Reply Last reply 12 Feb 2020, 12:42
                                          0

                                          • Login

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