How to build Qt on system without a GUI?
-
wrote on 28 Oct 2019, 10:04 last edited by
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 ?
-
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 ?
@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? -
wrote on 28 Oct 2019, 13:33 last edited by
uname -a
Linux raspberry 4.9.77-v7+cat /etc/os-release
Raspian GNU/Linux 8 (jessie) -
@Pavel_47 You can try to upgrade to current Raspbian version and then recreate your sysroot.
-
wrote on 28 Oct 2019, 13:45 last edited by
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 ?
-
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 ?
wrote on 28 Oct 2019, 13:47 last edited by@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
-
wrote on 28 Oct 2019, 14:01 last edited by
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 ?
-
wrote on 28 Oct 2019, 14:27 last edited by
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.
-
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 :-)).
-
wrote on 11 Feb 2020, 11:21 last edited by
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 ?
-
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 ?
Lifetime Qt Championwrote on 11 Feb 2020, 11:30 last edited by jsulm 2 Nov 2020, 11:31@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? -
wrote on 11 Feb 2020, 11:47 last edited by
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
-
wrote on 11 Feb 2020, 12:01 last edited by
Sorry, I've bee mistaken: the error occurred after make -j4, ... not after configure
-
wrote on 11 Feb 2020, 12:24 last edited by
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
-
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?
-
wrote on 12 Feb 2020, 10:52 last edited by
You mean in sysroot/lib/ ?
No at that place there is no libatspi. -
wrote on 12 Feb 2020, 11:26 last edited by
@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?:
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
-
wrote on 12 Feb 2020, 11:36 last edited by
So, should I install them on RPi and then re-synchronize ?
-
wrote on 12 Feb 2020, 11:50 last edited by
The Raspberry Pi also could not locate these packages.