Active Topics

 


Reply
Thread Tools
krk969's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#1
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.
Attached Files
File Type: txt qt mobility configure output.txt (9.9 KB, 293 views)
File Type: txt qt mobility make output.txt (5.8 KB, 520 views)

Last edited by krk969; 2009-12-22 at 22:24.
 
Posts: 279 | Thanked: 293 times | Joined on Oct 2009 @ Italy
#2
OpenGL is missing
 

The Following User Says Thank You to admiral0 For This Useful Post:
krk969's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#3
Originally Posted by admiral0 View Post
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.
 
Posts: 415 | Thanked: 732 times | Joined on Jan 2009 @ Finland
#4
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's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#5
Originally Posted by timoph View Post
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's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#6
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 ?

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

Last edited by krk969; 2009-12-25 at 18:19.
 
Posts: 36 | Thanked: 13 times | Joined on Dec 2009 @ Bandung, Indonesia
#7
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.

Originally Posted by krk969 View Post
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 ?

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
 

The Following User Says Thank You to ceefour For This Useful Post:
krk969's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#8
Originally Posted by ceefour View Post
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 !

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, 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
 

The Following User Says Thank You to krk969 For This Useful Post:
Posts: 36 | Thanked: 13 times | Joined on Dec 2009 @ Bandung, Indonesia
#9
Originally Posted by krk969 View Post
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.
 
Posts: 36 | Thanked: 13 times | Joined on Dec 2009 @ Bandung, Indonesia
#10
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?
 

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


 
Forum Jump


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