Unsolved How to build Qt on system without a GUI?
-
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.
-
@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 :-)).
-
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 ?
-
@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? -
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
-
Sorry, I've bee mistaken: the error occurred after make -j4, ... not after configure
-
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
-
@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?
-
You mean in sysroot/lib/ ?
No at that place there is no libatspi. -
@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 ?
-
@Pavel_47 said in How to build Qt on system without a GUI?:
Should they come from synchronization with RPi ?
Yes
-
So, should I install them on RPi and then re-synchronize ?
-
The Raspberry Pi also could not locate these packages.
-
@Pavel_47 My Ubuntu 18.04 has libatspi2.0-0 and libatspi2.0-0-dev
What is running on your RPi? -
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) -
If I understood, you managed to build Qt toolchain for RPi4 on your Ubuntu. Is it correct?
-
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 ?
-
@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.
-
@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. -
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.