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?

ceefour 2010-03-17 10:50

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Check Python battery level n900 and PyQt N900 to have a look at what Python can do to Qt.

The dbus battery level is a good alternative if qt mobility makes you mad =))

krk969 2010-03-17 11:01

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

Originally Posted by ceefour (Post 570204)
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?) :-)

Ive stopped my work on pushing qtmobility libraries to extras, just because there are gurus from Trollltech(Nokia) already working towards this. Im hoping to see QT mobility being released with QT4.6 with PR1.2 , lets wait and see, no official news yet.

Quote:

Originally Posted by ceefour (Post 570204)
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.

no issues, glad to be of help anytime :)

Quote:

Originally Posted by ceefour (Post 570204)
Congratulations on the battery level widget. I haven't tried it but I truly appreciate your excellent work.

The new QT based battery level widget is here (linked in my signature also), Ive updated it to use the hal daemon instead so users can set a polling interval that saves a lot of battery juice.
Also because qt mobility is still beta and they keep changing code.

Quote:

Originally Posted by ceefour (Post 570204)
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 wont give you any advice on this , its upto each one of us to take the step or not.
But what I can say is there is a nice wiki to reflash ;) if something goes terribly wrong.
I havent had issues myself, I use extras-devel quite a bit (cautiously).

Quote:

Originally Posted by ceefour (Post 570204)
I'm looking to PyQt as an alternative to hardcore Qt C++ with seemingly endless build problems... What do you think?

If you dont have much experience with C++, I would suggest start with PyQT, its certainly easier to get started.
But C++ apps will def. be faster in execution, and Im not 100% sure if we have all QT bindings for python and any limitations. Check their PyQT website or dig into the pyQT mailing lists.

good luck !

Netweaver 2010-03-17 11:07

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
QT Mobility is only scheduled for PR1.3, that was confirmed by one of the QT Mobility (main?) developers, I think I saw this in the "what can we realisticly expect in PR1.2? " Wiki entry and related thread(s).

So It means it's still some time (aka far) away ...

ceefour 2010-03-17 11:22

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

Originally Posted by Netweaver (Post 570229)
QT Mobility is only scheduled for PR1.3, that was confirmed by one of the QT Mobility (main?) developers, I think I saw this in the "what can we realisticly expect in PR1.2? " Wiki entry and related thread(s).

So It means it's still some time (aka far) away ...

From the news:

Quote:

Qt 4.6.2 stable for Maemo 5 with first Mobile APIs
Feb 18, 2010

The 4.6 release from Qt comes with a Symbian installer, Qt APIs for mobile devices and the promised Maemo 5 port.

With this point release, Qt 4.6 brings the so-called Smart Symbian installer on board. It functions as a dependency manager and is meant to reduce the size of large Qt-based Symbian applications. The new Qt APIs are also playing in the mobile league, and will make it easier for developers to equip multi-platform applications with localization, communication and roaming abilities.

Details are available on the Qt mobility project's blog. Both these changes are still in the beta.

Besides the now stable Maemo 5 support, the update contains a number of bug fixes, which can be found in the release notes. Qt 4.6 was released early December 2009, the point one release middle of January. All 4.6.2 products can be found on the download site.
(Anika Kehrer)
Has anyone confirmed that Qt 4.6.2 binary package in Maemo indeed came with Qt Mobility built-in?

(and I'm also wondering if it's trivial to build Qt Mobility SDK in scratchbox)

Quote:

So we released Qt 4.6.2 for Maemo 5 - what does that mean concretely? It means that we’re done with the Maemo 5 port. Now, the only device that ships with Maemo 5 is the N900. The current N900 firmware (called PR 1.1) ships with Qt 4.5, and that can’t be easily replaced. Just like every Qt release takes some time to enter upstream Linux distributions, it will take a few weeks of testing and integrating for Qt 4.6 to appear with the next N900 firmware update (called PR 1.2). In the meantime, we provide the usual packages for PR 1.1 in Maemo’s extras-devel.

There’s a chicken-egg situation, though. We need a stable release, otherwise PR 1.2 won’t be able to integrate Qt. However, all that’s in the open is PR 1.1, which has some issues that hit us:

* Text color in Hildon banners and notes is wrong (white on yellow)
* Styling issues with QComboBox
* Auto-rotation not working
* Unreliabilities with OpenGL ES

Qt on PR 1.2 doesn’t suffer from these issues. In PR 1.2, Qt will also be installed in /usr, not in its current /opt/qt4-maemo5 ghetto. This means that all Qt 4.6 applications should be rebuild once PR 1.2 comes out (which is a good idea anyway).
No mention of Qt Mobility in there. :-(

krk969 2010-03-17 11:26

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
if this is updated information then it shows the status of the qt mobility development for the various platforms.


Quote:

Originally Posted by ceefour (Post 570251)
(and I'm also wondering if it's trivial to build Qt Mobility SDK in scratchbox)

Yes, if you want , you can download the sources from the git for individual modules and build them.
I did find it trivial, but not all of them compiled smoothly for me last year, dont know if things have changed since then.

attila77 2010-03-17 11:45

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

Originally Posted by krk969 (Post 570257)
if this is updated information then it shows the status of the qt mobility development for the various platforms.

Just to note that Kate Alhola says that the status above is out of date with regard to many QtMobility components.

krk969 2010-03-17 11:51

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

Originally Posted by attila77 (Post 570276)
Just to note that Kate Alhola says that the status above is out of date with regard to many QtMobility components.

thanks for the updates attila77.
Although that mailing list shouldn't have been the place to post updates on QtMobilty, when they have a QT documention page detailing Qt mobility. Easy to be mislead ;).

attila77 2010-03-17 11:51

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

Originally Posted by krk969 (Post 570222)
If you dont have much experience with C++, I would suggest start with PyQT, its certainly easier to get started.
But C++ apps will def. be faster in execution, and Im not 100% sure if we have all QT bindings for python and any limitations. Check their PyQT website or dig into the pyQT mailing lists.

PyQt is roughly following the stable Fremantle Qt release schedule. So we have Qt4.5 support in extras right now, and Qt4.6 support (with all QMaemo5 classes) will appear the moment PR1.2 is released. In the same vein, if QtMobility becomes part of the official release in PR1.3, that's when PyQt will start supporting it.

As for speed, that depends on actual code. Apart from the startup delay, if you are careful in what you do in even handlers and stay away from costly conversions, you can have a speed that is very-very close to native (C++). In practice, it's good enough for everything except the most demanding games and supermassive applications like office :)

ceefour 2010-03-17 13:07

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Might wanna check this: http://maemo.org/community/maemo-dev...mo_5_using_qt/

Quote:

>Seems that platform compatibility chart is a bit out of date, as AFAIK Maemo 6 will never appear with that name.

It is also out of the date for Maemo 5 features. Messaging, Contacts and Multimedia is going in pipeline
and should appear with most features in external repo very soon. Bearer managementhas
some dependency problem but they should be resolved also soon.

Kate

ceefour 2010-03-17 13:13

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Overheard from http://labs.trolltech.com/blogs/2010...-beta-package/ :

Quote:

Oh yeah, in addition to the source package with documentation updates we have sis and debian packages for you to try on your Maemo and Symbian devices.
So it seems installing Qt Mobility beta on Maemo device itself is trivial.

ceefour 2010-03-17 13:49

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
Overheard from http://labs.trolltech.com/blogs/2010...-beta-package/ :

Quote:

Oh yeah, in addition to the source package with documentation updates we have sis and debian packages for you to try on your Maemo and Symbian devices.
Quote:

Get the libqtm-* .deb packages from the extras-devel repository at maemo.org
So it seems installing Qt Mobility beta on Maemo device itself is trivial.

lorebett 2010-06-20 20:00

Re: has anyone been able to build QT mobility libraries on Linux successfully ?
 
I've documented my experience here
http://tronprog.blogspot.com/2010/06...in-ubuntu.html
hope it helps :)


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

vBulletin® Version 3.8.8