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.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.
  • Pavel_47P Pavel_47

    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 ?

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by jsulm
    #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
    • Pavel_47P Offline
      Pavel_47P Offline
      Pavel_47
      wrote on 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
      • Pavel_47P Offline
        Pavel_47P Offline
        Pavel_47
        wrote on last edited by
        #76

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

        1 Reply Last reply
        0
        • Pavel_47P Offline
          Pavel_47P Offline
          Pavel_47
          wrote on 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
          
          
          jsulmJ 1 Reply Last reply
          0
          • Pavel_47P Pavel_47

            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
            
            
            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on 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
            • Pavel_47P Offline
              Pavel_47P Offline
              Pavel_47
              wrote on last edited by
              #79

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

              1 Reply Last reply
              0
              • Pavel_47P Offline
                Pavel_47P Offline
                Pavel_47
                wrote on 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 ?

                jsulmJ 1 Reply Last reply
                0
                • Pavel_47P Pavel_47

                  @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 ?

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on 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
                  • Pavel_47P Offline
                    Pavel_47P Offline
                    Pavel_47
                    wrote on last edited by
                    #82

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

                    1 Reply Last reply
                    0
                    • Pavel_47P Offline
                      Pavel_47P Offline
                      Pavel_47
                      wrote on last edited by
                      #83

                      The Raspberry Pi also could not locate these packages.

                      jsulmJ 1 Reply Last reply
                      0
                      • Pavel_47P Pavel_47

                        The Raspberry Pi also could not locate these packages.

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #84

                        @Pavel_47 My Ubuntu 18.04 has libatspi2.0-0 and libatspi2.0-0-dev
                        What is running on your RPi?

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

                        1 Reply Last reply
                        0
                        • Pavel_47P Offline
                          Pavel_47P Offline
                          Pavel_47
                          wrote on last edited by
                          #85

                          My Ubuntu 18.04 has libatspi2.0-0 and libatspi2.0-0-dev
                          You have them in /usr/lib/ ?

                          What is running on your RPi?
                          Raspbian 10 (buster)

                          jsulmJ 1 Reply Last reply
                          0
                          • Pavel_47P Offline
                            Pavel_47P Offline
                            Pavel_47
                            wrote on last edited by
                            #86

                            If I understood, you managed to build Qt toolchain for RPi4 on your Ubuntu. Is it correct?

                            1 Reply Last reply
                            0
                            • Pavel_47P Offline
                              Pavel_47P Offline
                              Pavel_47
                              wrote on last edited by
                              #87

                              The execution of one of the 3 resynchronizations (rsync -avz pi@yourpi:/usr/lib sysroot/usr to be exact) resulted in the following error:

                              sent 1,332,333 bytes received 119,470,015 bytes 1,320,244.24 bytes/sec
                              total size is 3,341,241,457 speedup is 27.66
                              rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1668) [generator=3.1.2]

                              It’s probably related to the cause of make failure. I went up the log of synchronization, displayed on the screen but I did not notice any error.

                              Any suggestions ?

                              1 Reply Last reply
                              0
                              • Pavel_47P Pavel_47

                                My Ubuntu 18.04 has libatspi2.0-0 and libatspi2.0-0-dev
                                You have them in /usr/lib/ ?

                                What is running on your RPi?
                                Raspbian 10 (buster)

                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #88

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

                                You have them in /usr/lib/ ?

                                In /usr/lib/x86_64-linux-gnu/libatspi.so.0
                                And Ubuntu provides the packages I mentioned above.
                                Debian should provide them as well (Raspbian is based on Debian), so you should be able to install them.

                                "Any suggestions ?" - well, something went wrong, there should be something in the log.

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

                                1 Reply Last reply
                                0
                                • Pavel_47P Offline
                                  Pavel_47P Offline
                                  Pavel_47
                                  wrote on last edited by
                                  #89

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

                                  Debian should provide them as well (Raspbian is based on Debian), so you should be able to install them.
                                  "Any suggestions ?" - well, something went wrong, there should be something in the log.

                                  Yes I also have it on Ubuntu on the same location.
                                  I also checked on Raspberry: it is there - in /user/lib/arm-linux-gnueabihf
                                  But I didn't find it on Ubuntu - in ~/raspi/sysroot/usr/lib/arm-linux-gnueabihf, the folder which was synchronized with RPi.
                                  Concerning your suggestion to look over log ... I didn't find any log file on rsync instruction. Nevertheless I look through over whole display buffer after erroneuous rsync execution (that didn't contain whole log !!!) and didn't find any error.

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #90

                                    Hi,

                                    If you can find the libraires/headers in your device root file system then using scp might be faster in your case to ensure you copy the files back to your machine.

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    1
                                    • Pavel_47P Offline
                                      Pavel_47P Offline
                                      Pavel_47
                                      wrote on last edited by
                                      #91

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

                                      Hi,

                                      If you can find the libraires/headers in your device root file system then using scp might be faster in your case to ensure you copy the files back to your machine.

                                      Copied missed libraries from RPi to Ubuntu and rerun build.
                                      Here is as it fails this time:

                                      /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libpthread.a(pthread_create.o): In function __pthread_create_2_1': /build/glibc-FUvrFr/glibc-2.28/nptl/pthread_create.c:697: undefined reference to _dl_stack_flags'
                                      /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libpthread.a(unwind.o): In function unwind_stop': /build/glibc-FUvrFr/glibc-2.28/nptl/unwind.c:72: undefined reference to __pointer_chk_guard_local'
                                      /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libpthread.a(nptl-init.o): In function __pthread_initialize_minimal_internal': /build/glibc-FUvrFr/glibc-2.28/nptl/nptl-init.c:434: undefined reference to _dl_pagesize'
                                      /build/glibc-FUvrFr/glibc-2.28/nptl/nptl-init.c:434: undefined reference to _dl_init_static_tls' /build/glibc-FUvrFr/glibc-2.28/nptl/nptl-init.c:434: undefined reference to _dl_wait_lookup_done'
                                      /home/pavel/raspi/sysroot/usr/lib/arm-linux-gnueabihf/libpthread.a(nptl-init.o): In function __pthread_get_minstack': /build/glibc-FUvrFr/glibc-2.28/nptl/nptl-init.c:443: undefined reference to _dl_pagesize'
                                      collect2: error: ld returned 1 exit status
                                      Makefile:1155: recipe for target '../../lib/libQt5Core.so.5.12.6' failed
                                      make[2]: *** [../../lib/libQt5Core.so.5.12.6] Error 1
                                      make[2]: Leaving directory '/home/pavel/qtbase/src/corelib'
                                      Makefile:198: recipe for target 'sub-corelib-make_first' failed
                                      make[1]: *** [sub-corelib-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

                                      1 Reply Last reply
                                      0
                                      • Pavel_47P Offline
                                        Pavel_47P Offline
                                        Pavel_47
                                        wrote on last edited by
                                        #92

                                        I've just tried once more resync the /usr/lib.
                                        ... and it failed immediately:

                                        2020/02/14 12:25:34 [7746] receiving file list
                                        2020/02/14 12:25:34 [7749] rsync: send_files failed to open "/usr/lib/cups/backend/vnc": Permission denied (13)
                                        2020/02/14 12:25:38 [7749] sent 5,485 bytes received 1,284,984 bytes 73,741.09 bytes/sec
                                        2020/02/14 12:25:38 [7749] total size is 3,341,241,457 speedup is 2,589.17
                                        2020/02/14 12:25:38 [7746] rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1668) [generator=3.1.2]

                                        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