maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   has anyone been able to build QT mobility libraries on Linux successfully ? (https://talk.maemo.org/showthread.php?t=38117)

krk969 2009-12-22 22:21

has anyone been able to build QT mobility libraries on Linux successfully ?
 
2 Attachment(s)
Has anybody been able to compile the QT mobility api libraries successfully on Linux(scratchbox FREMANTLE_X86) after installing the QT4.6 SDK binary ?

QT 4.6 SDK ==> http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp

QT Mobility API==> http://get.qt.nokia.com/qt/solutions...0.0-tp2.tar.gz

Ive been getting several compilation errors mainly missing headers, too many to even post here, can anyone list the steps if they did it sucessfully.

the output of the configure script and subsequently the make
has been attached.

thanks for any help.

admiral0 2009-12-22 22:27

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
OpenGL is missing

krk969 2009-12-22 22:31

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Quote:

Originally Posted by admiral0 (Post 438269)
OpenGL is missing

thanks admiral0, can you direct me to a link please ?
Im surprised why the QT 4.6 SDK didnt install that and the page for the QT mobility API's had no mention of this either.

timoph 2009-12-22 22:35

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
I'd guess the configure script uses "wrong" qmake since 4.6 qmake is in /opt/something (I don't remember the path to qmake). you might want to set 4.6 qmake as your default.

for info on setting the default Qt version see http://jpnurmi.kapsi.fi/blog/2008/03...ion-in-ubuntu/

krk969 2009-12-22 22:42

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Quote:

Originally Posted by timoph (Post 438281)
I'd guess the configure script uses "wrong" qmake since 4.6 qmake is in /opt/something (I don't remember the path to qmake). you might want to set 4.6 qmake as your default.

for info on setting the default Qt version see http://jpnurmi.kapsi.fi/blog/2008/03...ion-in-ubuntu/

Ive set the PATH to pick the correct qt which is qt4.6 which I installed in /opt/qtsdk-2009.05 the default installation path of the QT4.6 SDK

[sbox-FREMANTLE_X86: ~] > which qmake
/opt/qtsdk-2009.05/qt/bin/qmake


also in the make output you can see the include directories are also from the same path where I installed QT4.6

so it doesnt seem to me thats the issue.

configure also detected QT4.6 ( check log ), else it would have failed stating QT is not version >= 4.6.

krk969 2009-12-23 14:46

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
just got it progressed.

had to download libglui-dev( sudo apt-get libglui-dev ) and I couldnt do that in the scratchbox environment as my repository was not configured so I installed it in my main Ubuntu env and copied the libs/headers over to the scratchbox target.

errors didnt stop there, it later complained of not finding QtDBus headers ! while compiling the systemInfo module to QtMobility and the headers existed except the makefile didnt include it so I manually edited that to progress it.

now its failed again (attached screenshot) as Im writing, this time in mediacapture module, will post when im done buidling this.

again, did any one of you try this, and have succesfully built it ?
Im not sure if I have screwed up somewhere, it cant be that there are so many errors in a released version of QT or is there ? :confused:

g++ -c -pipe -g -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQMEDIA_GSTREAMER_PLAYER -DQMEDIA_GSTREAMER_CAPTURE -DQT_PLUGIN -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/mkspecs/linux-g++ -I. -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtCore -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtGui -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtMultimedia -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtMedia_tp -I../../../src/global -I../../../src/multimedia -Imediaplayer -Imediacapture -I/targets/FREMANTLE_X86/opt/qt-mobility/include -I../../../build/Debug/gstengine/moc -o ../../../build/Debug/gstengine/qgstreamercapturesession.o mediacapture/qgstreamercapturesession.cpp
mediacapture/qgstreamercapturesession.cpp: In member function 'bool QGstreamerCaptureSession::rebuildGraph(QGstreamerC aptureSession::PipelineMode)':
mediacapture/qgstreamercapturesession.cpp:615: error: '_gst_debug_bin_to_dot_file' was not declared in this scope
mediacapture/qgstreamercapturesession.cpp: In member function 'void QGstreamerCaptureSession::dumpGraph(const QString&)':
mediacapture/qgstreamercapturesession.cpp:643: error: '_gst_debug_bin_to_dot_file' was not declared in this scope
make[3]: *** [../../../build/Debug/gstengine/qgstreamercapturesession.o] Error 1
make[3]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins/multimedia/gstreamer'
make[2]: *** [sub-gstreamer-make_default] Error 2
make[2]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins/multimedia'
make[1]: *** [sub-multimedia-make_default] Error 2
make[1]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins'
make: *** [sub-plugins-make_default-ordered] Error
2

ceefour 2009-12-30 07:35

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Hi krk969,

Be happy :-) Someone just answered your prayers :-)

And I'm happy too because I just wrote the article that answers your question. What a coincidence. ;-)

I documented how to compile/install Qt Mobility on Linux here.

I'm on Ubuntu 9.10, which has some known issues with Qt Mobility 1.0 TP2.

Key points include:
  • Downgrade to GCC/G++ 4.3
  • Install Qt 4 dev dependencies and some dependencies of Qt Mobility implementation (network-manager etc.)
  • Apply patch from Lorn Potter

I also shared the experience of running the Qt Quickstart App, not so impressive but at least it works as advertised. :-)

There's also issue with GDB 7.0 but I'm postponing this for later, until I have a real need for debugging.

Quote:

Originally Posted by krk969 (Post 439099)
just got it progressed.

had to download libglui-dev( sudo apt-get libglui-dev ) and I couldnt do that in the scratchbox environment as my repository was not configured so I installed it in my main Ubuntu env and copied the libs/headers over to the scratchbox target.

errors didnt stop there, it later complained of not finding QtDBus headers ! while compiling the systemInfo module to QtMobility and the headers existed except the makefile didnt include it so I manually edited that to progress it.

now its failed again (attached screenshot) as Im writing, this time in mediacapture module, will post when im done buidling this.

again, did any one of you try this, and have succesfully built it ?
Im not sure if I have screwed up somewhere, it cant be that there are so many errors in a released version of QT or is there ? :confused:

g++ -c -pipe -g -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQMEDIA_GSTREAMER_PLAYER -DQMEDIA_GSTREAMER_CAPTURE -DQT_PLUGIN -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/mkspecs/linux-g++ -I. -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtCore -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtGui -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtMultimedia -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include -I/targets/FREMANTLE_X86/opt/qtsdk-2009.05/qt/include/QtMedia_tp -I../../../src/global -I../../../src/multimedia -Imediaplayer -Imediacapture -I/targets/FREMANTLE_X86/opt/qt-mobility/include -I../../../build/Debug/gstengine/moc -o ../../../build/Debug/gstengine/qgstreamercapturesession.o mediacapture/qgstreamercapturesession.cpp
mediacapture/qgstreamercapturesession.cpp: In member function 'bool QGstreamerCaptureSession::rebuildGraph(QGstreamerC aptureSession::PipelineMode)':
mediacapture/qgstreamercapturesession.cpp:615: error: '_gst_debug_bin_to_dot_file' was not declared in this scope
mediacapture/qgstreamercapturesession.cpp: In member function 'void QGstreamerCaptureSession::dumpGraph(const QString&)':
mediacapture/qgstreamercapturesession.cpp:643: error: '_gst_debug_bin_to_dot_file' was not declared in this scope
make[3]: *** [../../../build/Debug/gstengine/qgstreamercapturesession.o] Error 1
make[3]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins/multimedia/gstreamer'
make[2]: *** [sub-gstreamer-make_default] Error 2
make[2]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins/multimedia'
make[1]: *** [sub-multimedia-make_default] Error 2
make[1]: Leaving directory `/tmp/temp/qt-mobility-src-1.0.0-tp2/plugins'
make: *** [sub-plugins-make_default-ordered] Error
2


krk969 2009-12-30 08:17

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Quote:

Originally Posted by ceefour (Post 446312)
Hi krk969,

Be happy :-) Someone just answered your prayers :-)

And I'm happy too because I just wrote the article that answers your question. What a coincidence. ;-)

I documented how to compile/install Qt Mobility on Linux here.

I'm on Ubuntu 9.10, which has some known issues with Qt Mobility 1.0 TP2.

Key points include:
  • Downgrade to GCC/G++ 4.3
  • Install Qt 4 dev dependencies and some dependencies of Qt Mobility implementation (network-manager etc.)
  • Apply patch from Lorn Potter

I also shared the experience of running the Qt Quickstart App, not so impressive but at least it works as advertised. :-)

There's also issue with GDB 7.0 but I'm postponing this for later, until I have a real need for debugging.

great job ceefour !:D

I was also going to document the same today but your blog looks neat , will go through it when I get the time and report any comments.
I had already uploaded QtSystemInfo module of the Qt Mobility API in the extras repository since my app needed it.

I had made some tweaks in the systinfo.pro to get this compiling.
somehow it wasnt detecting the architecture as unix so I had to move those settings to global ;)
And yes, NetworkManager needed to be installed, I had thought it wasnt neccessary since QtNetworkManager has its own backend:confused:, maybe Im wrong here but thats what I had read

picked from http://qt.nokia.com/doc/qtmobility-1...ysteminfo.html
".....
Building and compiling

This library requires Qt 4.6 to be installed.

To build the library, run qmake and make.

Linux supports a NetworkManager based backend and generic backend using QNetworkInterface only. By default the generic backend is selected. If the NetworkManager backend is required run qmake as follows:
......."


As a sidenote, The QT app which uses QtSystemInfo is here for you to take a look and comment. ==>http://talk.maemo.org/showthread.php?p=446333

ceefour 2009-12-30 11:17

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Quote:

Originally Posted by krk969 (Post 438265)
Has anybody been able to compile the QT mobility api libraries successfully on Linux(scratchbox FREMANTLE_X86) after installing the QT4.6 SDK binary ?

QT 4.6 SDK ==> http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp

I just realized that it shouldn't have been necessary for me to compile Qt 4.6 SDK from source.

The huge size of complete Qt Development Environment put me off (it would took hours or even days to download a ~500 MB file here in Indonesia's wireless), and I opted to install Qt Creator, and compile Qt 4.6 SDK separately. The compilation took about 2.5 hours. (!)

I should've been more (or less?) patient.

ceefour 2010-03-17 10:48

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Now that I have an N900, and looking to port my Qt Mobility apps to it... I realize how wrong my replies were. I'm sorry to have confused you. My previous replies were my experiences on building Qt Mobility on Ubuntu Karmic Koala 9.10 on a desktop... not on scratchbox for Maemo. I didn't even know what scratchbox was or what is Fremantle. ;-) (later on I successfully ported the Qt apps to S60, so I have a bit of experience there too)

(I figured at this point you've figured the solution yourself anyway, right?) :-)

I'll be starting to develop Maemo apps in the coming weeks so I shall put you on my radar when things go wrong hehehe =)) I've just started to install scratchbox and stuff on my Ubuntu machine. I'm very new to all this.

Thanks krk969 for your patience.

Congratulations on the battery level widget. I haven't tried it but I truly appreciate your excellent work.

I'm pretty worried about developing on a N900 though, as I've used it as my main phone too. Is it "safe" w.r.t. the chances of bricking it?

I'm looking to PyQt as an alternative to hardcore Qt C++ with seemingly endless build problems... What do you think?


All times are GMT. The time now is 07:59.

vBulletin® Version 3.8.8