Go Back   maemo.org - Talk > OS / Platform > Maemo 5 / Fremantle
 
Register FAQ Community Calendar Today's Posts Search

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

Reply
 
Thread Tools
  #1  
Old 2012-06-09, 05:14
seanmcken seanmcken is offline
 
Join Date: Feb 2012
Location: Goa
Posts: 863
Thanks!: 377
Thanked 213 Times in 150 Posts
Default Qt5 on nokia N900!

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.
Reply With Quote
  #2  
Old 2012-06-09, 05:40
Kangal's Avatar
Kangal Kangal is offline
 
Join Date: Mar 2010
Posts: 1,789
Thanks!: 600
Thanked 1,699 Times in 853 Posts
Default Re: QT5 on nokia n900 ?

Possible yes.
Probable no.

What's going to happen --we'll see.
__________________
Quote:
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
Reply With Quote
The Following User Says Thank You to Kangal For This Useful Post:
  #3  
Old 2012-06-09, 14:41
qgil's Avatar
qgil qgil is offline
 
Join Date: Jul 2007
Location: Mountain View (CA, USA)
Posts: 3,105
Thanks!: 2,316
Thanked 11,088 Times in 1,998 Posts
Default Re: QT5 on nokia n900 ?

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
Reply With Quote
The Following 4 Users Say Thank You to qgil For This Useful Post:
  #4  
Old 2012-06-09, 15:12
MartinK MartinK is offline
 
Join Date: Apr 2010
Location: Czech Republic
Posts: 1,548
Thanks!: 8,401
Thanked 7,510 Times in 1,432 Posts
Default Re: QT5 on nokia n900 ?

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)
Reply With Quote
The Following 3 Users Say Thank You to MartinK For This Useful Post:
  #5  
Old 2012-06-09, 15:29
lma lma is offline
 
Join Date: Nov 2007
Posts: 2,802
Thanks!: 2,844
Thanked 4,491 Times in 1,616 Posts
Default Re: QT5 on nokia n900 ?

\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}
Reply With Quote
The Following 4 Users Say Thank You to lma For This Useful Post:
  #6  
Old 2012-06-22, 17:01
marmistrz marmistrz is offline
 
Join Date: May 2011
Location: Poland
Posts: 3,328
Thanks!: 1,897
Thanked 4,476 Times in 1,667 Posts
Default Re: QT5 on nokia n900 ?

Quote:
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.
Reply With Quote
The Following User Says Thank You to marmistrz For This Useful Post:
  #7  
Old 2012-06-22, 17:21
freemangordon freemangordon is offline
 
Join Date: Mar 2010
Location: Sofia,Bulgaria
Posts: 3,074
Thanks!: 2,415
Thanked 12,959 Times in 2,522 Posts
Default Re: QT5 on nokia n900 ?

@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

Reply With Quote
The Following 6 Users Say Thank You to freemangordon For This Useful Post:
  #8  
Old 2012-06-23, 09:40
marmistrz marmistrz is offline
 
Join Date: May 2011
Location: Poland
Posts: 3,328
Thanks!: 1,897
Thanked 4,476 Times in 1,667 Posts
Default Re: QT5 on nokia n900 ?

Quote:
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
Reply With Quote
  #9  
Old 2012-06-23, 13:58
marmistrz marmistrz is offline
 
Join Date: May 2011
Location: Poland
Posts: 3,328
Thanks!: 1,897
Thanked 4,476 Times in 1,667 Posts
Default Re: QT5 on nokia n900 ?

Quote:
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.
Reply With Quote
  #10  
Old 2013-02-04, 13:46
frafI frafI is offline
 
Join Date: Jan 2011
Location: Berlin
Posts: 114
Thanks!: 73
Thanked 298 Times in 82 Posts
Default Re: QT5 on nokia n900 ?

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.
Reply With Quote
The Following User Says Thank You to frafI For This Useful Post:
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 21:10.