Poll: Did you try Qt5 on N900?
Poll Options
Did you try Qt5 on N900?

Reply
Thread Tools
Posts: 863 | Thanked: 213 times | Joined on Feb 2012 @ Goa
#1
Any possibilities to have Qt5 on nokia N900?

Edit: Yes, see: http://wiki.maemo.org/Qt5-Maemo5

Last edited by seanmcken; 2014-03-13 at 18:04.
 
Kangal's Avatar
Posts: 1,789 | Thanked: 1,699 times | Joined on Mar 2010
#2
Possible yes.
Probable no.

What's going to happen --we'll see.
__________________
Originally Posted by mscion View Post
I vote that Kangal replace Elop!
The Following 5 Users Say Thank You to mscion For This Useful Post

I'm flattered
 

The Following User Says Thank You to Kangal For This Useful Post:
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#3
It is technically not trivial to run Qt 5 in Fremantle. See the link and short discussion at http://talk.maemo.org/showthread.php?t=84591&page=3
 

The Following 4 Users Say Thank You to qgil For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#4
I would say the biggest roadblock at the moment would be outdated libraries on Fremantle. As Qt 5 aspires to be even faster, more modular & more optimized than Qt 4.6+, performance should not be that much of a problem.

Regarding the outdated libraries, CSSU, Aapos library updates & OBS-for-Fremantle might help with this in the future.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)
 

The Following 3 Users Say Thank You to MartinK For This Useful Post:
Posts: 2,802 | Thanked: 4,491 times | Joined on Nov 2007
#5
\begin{backseat-driver-mode}

Is the only blocker Fremantle's old libxcb? If so that sounds like a job for the CSSU. I don't know much about xcb internals but if the API hasn't been broken since the version packaged in Fremantle (the major version number is still 1 which suggests so) it could even be as simple as dropping in a fresher build. Worse case, some LD_LIBRARY_PATH hacks could make it work.

\end{backseat-driver-mode}
 

The Following 4 Users Say Thank You to lma For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#6
Originally Posted by lma View Post
\begin{backseat-driver-mode}

Is the only blocker Fremantle's old libxcb? If so that sounds like a job for the CSSU. I don't know much about xcb internals but if the API hasn't been broken since the version packaged in Fremantle (the major version number is still 1 which suggests so) it could even be as simple as dropping in a fresher build. Worse case, some LD_LIBRARY_PATH hacks could make it work.

\end{backseat-driver-mode}
I'm not sure that LD_LIBRARY_PATH will work, as with libxi6 moving it somewhere else causes crashes. But I'm pretty sure that it should be one of the goals of CSSU (porting libxcb). I ported some libxcb dependencies, but then came across some strange problems: python wasn't detected so I gave up. I'll try compiling qt5 if it causes not very much problems.
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here

Last edited by marmistrz; 2012-06-23 at 13:20.
 

The Following User Says Thank You to marmistrz For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#7
@marmistrz: why don't you try to compile in SB with the compiler I am using for thumb2 stuff? The only dependencies it has is to newer libstdc++ and libgcc, but those are backward compatible to everything in Fremantle.
__________________
Never fear. I is here.

720p video support on N900,SmartReflex on N900,Keyboard and mouse support on N900
Nothing is impossible - Stable thumb2 on n900

Community SSU developer
kernel-power developer and maintainer

 

The Following 6 Users Say Thank You to freemangordon For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#8
Originally Posted by freemangordon View Post
@marmistrz: why don't you try to compile in SB with the compiler I am using for thumb2 stuff? The only dependencies it has is to newer libstdc++ and libgcc, but those are backward compatible to everything in Fremantle.
I can't. I cannot setup the second target I always use for experiments, newer pkgs. http://talk.maemo.org/showpost.php?p...4&postcount=19
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here
 
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#9
Originally Posted by marmistrz View Post
I'm not sure that LD_LIBRARY_PATH will work, as with libxi6 moving it somewhere else causes crashes. But I'm pretty sure that it should be one of the goals of CSSU (porting libxcb). I ported some libxcb dependencies, but then came across some strange problems: python wasn't detected so I gave up. I'll try compiling qt5 if it causes not very much problems.
Some newer lib is indeed required.
Code:
rm -f libQtWidgets.so.5.0.0 libQtWidgets.so libQtWidgets.so.5 libQtWidgets.so.5.0
arm-linux-gnueabi-g++ -Wl,-rpath-link,/home/marcin/qt5/qt5-base-5.0.0~20120504/lib -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/qt5/lib -Wl,-rpath,/opt/qt5/lib -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,/home/marcin/qt5/qt5-base-5.0.0~20120504/src/widgets/QtGui.dynlist -Wl,-soname,libQtWidgets.so.5 -o libQtWidgets.so.5.0.0 .obj/release-shared/qaction.o .obj/release-shared/qactiongroup.o .obj/release-shared/qapplication.o .obj/release-shared/qwidgetbackingstore.o .obj/release-shared/qboxlayout.o .obj/release-shared/qformlayout.o .obj/release-shared/qgridlayout.o .obj/release-shared/qicon.o .obj/release-shared/qiconloader.o .obj/release-shared/qiconengine.o .obj/release-shared/qiconengineplugin.o .obj/release-shared/qlayout.o .obj/release-shared/qlayoutengine.o .obj/release-shared/qlayoutitem.o .obj/release-shared/qshortcut.o .obj/release-shared/qstackedlayout.o .obj/release-shared/qtooltip.o .obj/release-shared/qwhatsthis.o .obj/release-shared/qwidget.o .obj/release-shared/qwidgetaction.o .obj/release-shared/qgesture.o .obj/release-shared/qstandardgestures.o .obj/release-shared/qgesturerecognizer.o .obj/release-shared/qgesturemanager.o .obj/release-shared/qsoftkeymanager.o .obj/release-shared/qdesktopwidget.o .obj/release-shared/qwidgetsvariant.o .obj/release-shared/qapplication_qpa.o .obj/release-shared/qdesktopwidget_qpa.o .obj/release-shared/qwidget_qpa.o .obj/release-shared/qwidgetwindow_qpa.o .obj/release-shared/qplatformmenu_qpa.o .obj/release-shared/qdrawutil.o .obj/release-shared/qstyle.o .obj/release-shared/qstylefactory.o .obj/release-shared/qstyleoption.o .obj/release-shared/qstyleplugin.o .obj/release-shared/qstylehelper.o .obj/release-shared/qcommonstyle.o .obj/release-shared/qproxystyle.o .obj/release-shared/qstylepainter.o .obj/release-shared/qstylesheetstyle.o .obj/release-shared/qstylesheetstyle_default.o .obj/release-shared/qcdestyle.o .obj/release-shared/qplastiquestyle.o .obj/release-shared/qgtkstyle.o .obj/release-shared/qgtkpainter.o .obj/release-shared/qgtkstyle_p.o .obj/release-shared/qcleanlooksstyle.o .obj/release-shared/qwindowsstyle.o .obj/release-shared/qmotifstyle.o .obj/release-shared/qabstractbutton.o .obj/release-shared/qabstractslider.o .obj/release-shared/qabstractspinbox.o .obj/release-shared/qcalendarwidget.o .obj/release-shared/qcheckbox.o .obj/release-shared/qcombobox.o .obj/release-shared/qcommandlinkbutton.o .obj/release-shared/qdatetimeedit.o .obj/release-shared/qdial.o .obj/release-shared/qdialogbuttonbox.o .obj/release-shared/qdockwidget.o .obj/release-shared/qdockarealayout.o .obj/release-shared/qeffects.o .obj/release-shared/qfontcombobox.o .obj/release-shared/qframe.o .obj/release-shared/qgroupbox.o .obj/release-shared/qlabel.o .obj/release-shared/qlcdnumber.o .obj/release-shared/qlineedit_p.o .obj/release-shared/qlineedit.o .obj/release-shared/qmainwindow.o .obj/release-shared/qmainwindowlayout.o .obj/release-shared/qmdiarea.o .obj/release-shared/qmdisubwindow.o .obj/release-shared/qmenu.o .obj/release-shared/qmenubar.o .obj/release-shared/qprogressbar.o .obj/release-shared/qpushbutton.o .obj/release-shared/qradiobutton.o .obj/release-shared/qrubberband.o .obj/release-shared/qscrollbar.o .obj/release-shared/qsizegrip.o .obj/release-shared/qslider.o .obj/release-shared/qspinbox.o .obj/release-shared/qsplashscreen.o .obj/release-shared/qsplitter.o .obj/release-shared/qstackedwidget.o .obj/release-shared/qstatusbar.o .obj/release-shared/qtabbar.o .obj/release-shared/qtabwidget.o .obj/release-shared/qtextedit.o .obj/release-shared/qtextbrowser.o .obj/release-shared/qtoolbar.o .obj/release-shared/qtoolbarlayout.o .obj/release-shared/qtoolbarextension.o .obj/release-shared/qtoolbarseparator.o .obj/release-shared/qtoolbox.o .obj/release-shared/qtoolbutton.o .obj/release-shared/qabstractscrollarea.o .obj/release-shared/qwidgetresizehandler.o .obj/release-shared/qfocusframe.o .obj/release-shared/qscrollarea.o .obj/release-shared/qwidgetanimator.o .obj/release-shared/qwidgettextcontrol.o .obj/release-shared/qwidgetlinecontrol.o .obj/release-shared/qtoolbararealayout.o .obj/release-shared/qplaintextedit.o .obj/release-shared/qcolordialog.o .obj/release-shared/qdialog.o .obj/release-shared/qerrormessage.o .obj/release-shared/qfiledialog.o .obj/release-shared/qfontdialog.o .obj/release-shared/qinputdialog.o .obj/release-shared/qmessagebox.o .obj/release-shared/qprogressdialog.o .obj/release-shared/qsidebar.o .obj/release-shared/qfilesystemmodel.o .obj/release-shared/qfileinfogatherer.o .obj/release-shared/qwizard.o .obj/release-shared/qaccessiblewidget.o .obj/release-shared/qabstractitemview.o .obj/release-shared/qheaderview.o .obj/release-shared/qlistview.o .obj/release-shared/qbsptree.o .obj/release-shared/qtableview.o .obj/release-shared/qtreeview.o .obj/release-shared/qabstractitemdelegate.o .obj/release-shared/qitemdelegate.o .obj/release-shared/qdirmodel.o .obj/release-shared/qlistwidget.o .obj/release-shared/qtablewidget.o .obj/release-shared/qtreewidget.o .obj/release-shared/qproxymodel.o .obj/release-shared/qitemeditorfactory.o .obj/release-shared/qstandarditemmodel.o .obj/release-shared/qtreewidgetitemiterator.o .obj/release-shared/qdatawidgetmapper.o .obj/release-shared/qfileiconprovider.o .obj/release-shared/qcolumnview.o .obj/release-shared/qcolumnviewgrip.o .obj/release-shared/qstyleditemdelegate.o .obj/release-shared/qgraphicsgridlayout.o .obj/release-shared/qgraphicsitem.o .obj/release-shared/qgraphicsitemanimation.o .obj/release-shared/qgraphicslayout.o .obj/release-shared/qgraphicslayout_p.o .obj/release-shared/qgraphicslayoutitem.o .obj/release-shared/qgraphicslinearlayout.o .obj/release-shared/qgraphicsproxywidget.o .obj/release-shared/qgraphicsscene.o .obj/release-shared/qgraphicsscene_bsp.o .obj/release-shared/qgraphicsscenebsptreeindex.o .obj/release-shared/qgraphicssceneevent.o .obj/release-shared/qgraphicssceneindex.o .obj/release-shared/qgraphicsscenelinearindex.o .obj/release-shared/qgraphicstransform.o .obj/release-shared/qgraphicsview.o .obj/release-shared/qgraphicswidget.o .obj/release-shared/qgraphicswidget_p.o .obj/release-shared/qgridlayoutengine.o .obj/release-shared/qsimplex_p.o .obj/release-shared/qgraphicsanchorlayout_p.o .obj/release-shared/qgraphicsanchorlayout.o .obj/release-shared/qsystemtrayicon.o .obj/release-shared/qcolormap_qpa.o .obj/release-shared/qcompleter.o .obj/release-shared/qscroller.o .obj/release-shared/qscrollerproperties.o .obj/release-shared/qflickgesture.o .obj/release-shared/qundogroup.o .obj/release-shared/qundostack.o .obj/release-shared/qundoview.o .obj/release-shared/qsystemtrayicon_qpa.o .obj/release-shared/qguistatemachine.o .obj/release-shared/qkeyeventtransition.o .obj/release-shared/qmouseeventtransition.o .obj/release-shared/qbasickeyeventtransition.o .obj/release-shared/qbasicmouseeventtransition.o .obj/release-shared/qgraphicseffect.o .obj/release-shared/qpixmapfilter.o .obj/release-shared/moc_qboxlayout.o .obj/release-shared/moc_qdesktopwidget.o .obj/release-shared/moc_qformlayout.o .obj/release-shared/moc_qgridlayout.o .obj/release-shared/moc_qiconengineplugin.o .obj/release-shared/moc_qlayout.o .obj/release-shared/moc_qshortcut.o .obj/release-shared/moc_qsizepolicy.o .obj/release-shared/moc_qstackedlayout.o .obj/release-shared/moc_qsoftkeymanager_p.o .obj/release-shared/moc_qdesktopwidget_qpa_p.o .obj/release-shared/moc_qwidgetwindow_qpa_p.o .obj/release-shared/moc_qstyle.o .obj/release-shared/moc_qstyleplugin.o .obj/release-shared/moc_qcommonstyle.o .obj/release-shared/moc_qproxystyle.o .obj/release-shared/moc_qcdestyle.o .obj/release-shared/moc_qplastiquestyle.o .obj/release-shared/moc_qgtkstyle.o .obj/release-shared/moc_qgtkstyle_p.o .obj/release-shared/moc_qcleanlooksstyle.o .obj/release-shared/moc_qwindowsstyle.o .obj/release-shared/moc_qmotifstyle.o .obj/release-shared/moc_qbuttongroup.o .obj/release-shared/moc_qabstractbutton.o .obj/release-shared/moc_qabstractslider.o .obj/release-shared/moc_qcalendartextnavigator_p.o .obj/release-shared/moc_qcheckbox.o .obj/release-shared/moc_qcombobox_p.o .obj/release-shared/moc_qcommandlinkbutton.o .obj/release-shared/moc_qdatetimeedit_p.o .obj/release-shared/moc_qdial.o .obj/release-shared/moc_qdockwidget_p.o .obj/release-shared/moc_qframe.o .obj/release-shared/moc_qlcdnumber.o .obj/release-shared/moc_qmainwindow.o .obj/release-shared/moc_qmainwindowlayout_p.o .obj/release-shared/moc_qprogressbar.o .obj/release-shared/moc_qradiobutton.o .obj/release-shared/moc_qrubberband.o .obj/release-shared/moc_qscrollbar.o .obj/release-shared/moc_qslider.o .obj/release-shared/moc_qspinbox.o .obj/release-shared/moc_qsplashscreen.o .obj/release-shared/moc_qsplitter.o .obj/release-shared/moc_qstackedwidget.o .obj/release-shared/moc_qstatusbar.o .obj/release-shared/moc_qtabbar_p.o .obj/release-shared/moc_qtoolbarlayout_p.o .obj/release-shared/moc_qtoolbarextension_p.o .obj/release-shared/moc_qtoolbarseparator_p.o .obj/release-shared/moc_qwidgetresizehandler_p.o .obj/release-shared/moc_qfocusframe.o .obj/release-shared/moc_qscrollarea.o .obj/release-shared/moc_qwidgetanimator_p.o .obj/release-shared/moc_qwidgetlinecontrol_p.o .obj/release-shared/moc_qerrormessage.o .obj/release-shared/moc_qsidebar_p.o .obj/release-shared/moc_qfileinfogatherer_p.o .obj/release-shared/moc_qlistview.o .obj/release-shared/moc_qabstractitemdelegate.o .obj/release-shared/moc_qlistwidget_p.o .obj/release-shared/moc_qtablewidget_p.o .obj/release-shared/moc_qtreewidget_p.o .obj/release-shared/moc_qitemeditorfactory_p.o .obj/release-shared/moc_qcolumnviewgrip_p.o .obj/release-shared/moc_qgraphicsitemanimation.o .obj/release-shared/moc_qgraphicsscenelinearindex_p.o .obj/release-shared/moc_qgraphicswidget.o .obj/release-shared/moc_qgraphicsanchorlayout.o .obj/release-shared/moc_qsystemtrayicon.o .obj/release-shared/moc_qcompleter_p.o .obj/release-shared/moc_qsystemtrayicon_p.o .obj/release-shared/moc_qscroller.o .obj/release-shared/moc_qscroller_p.o .obj/release-shared/moc_qflickgesture_p.o .obj/release-shared/moc_qundogroup.o .obj/release-shared/moc_qundostack.o .obj/release-shared/moc_qundostack_p.o .obj/release-shared/moc_qundoview.o .obj/release-shared/moc_qkeyeventtransition.o .obj/release-shared/moc_qmouseeventtransition.o .obj/release-shared/moc_qbasickeyeventtransition_p.o .obj/release-shared/moc_qbasicmouseeventtransition_p.o .obj/release-shared/moc_qgraphicseffect.o .obj/release-shared/moc_qgraphicseffect_p.o .obj/release-shared/moc_qpixmapfilter_p.o .obj/release-shared/qrc_qstyle.o .obj/release-shared/qrc_qmessagebox.o   -L/home/marcin/qt5/qt5-base-5.0.0~20120504/lib -lQtGui -L/home/marcin/qt5/qt5-base-5.0.0~20120504/lib -lQtCore -lpthread -lgobject-2.0 -lglib-2.0 -lGLESv2 
.obj/release-shared/qgtkstyle_p.o: In function `QGtkStylePrivate::setupGtkFileChooser(_GtkWidget*, QWidget*, QString const&, QString const&, QString*, QFlags<QFileDialog::Option>, bool, QHash<_GtkFileFilter*, QString>*)':
qgtkstyle_p.cpp:(.text+0x2fdc): undefined reference to `XSetTransientForHint'
.obj/release-shared/qgtkstyle_p.o: In function `QGtkStylePrivate::initGtkWidgets() const':
qgtkstyle_p.cpp:(.text+0x5d8c): undefined reference to `XSetErrorHandler'
qgtkstyle_p.cpp:(.text+0x5da8): undefined reference to `XSetErrorHandler'
collect2: ld returned 1 exit status
make[2]: *** [../../lib/libQtWidgets.so.5.0.0] Error 1
make[2]: Leaving directory `/home/marcin/qt5/qt5-base-5.0.0~20120504/src/widgets'
make[1]: *** [sub-widgets-make_default-ordered] Error 2
make[1]: Leaving directory `/home/marcin/qt5/qt5-base-5.0.0~20120504'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
I think we need to work out, why the libxau6 (these all are family) causes a reboot loop on the stock kernel. (With kernel-power it doesn't cause a disaster)
http://talk.maemo.org/showthread.php?t=83939
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here

Last edited by marmistrz; 2012-06-23 at 14:01.
 
Posts: 114 | Thanked: 298 times | Joined on Jan 2011 @ Berlin
#10
Any progress on that?
@marmistrz: Did you document your approach anywhere, so that someone willing to play with this does not have to start from scratch?

Did anyone consider building a Qt5 compatibility layer for Qt4? If you try to port software that doesn't use (m)any of Qt5's new features, it's actually just renaming some classes and reimplementing a few Qml properties. This task is quite similar for many applications and such a layer could save a lot of time if done only once.
 

The Following User Says Thank You to frafI For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 02:06.