Reply
Thread Tools
Posts: 9 | Thanked: 2 times | Joined on Mar 2010
#1
Hi everyone,

I am running Qt4.6 on both Scratchbox and My N900 (at least I believe I have installed it on both of them). However, when I transfer my binary to the device and run it, I got such a message:
"Cannot mix incompatible Qt library (version 0x40503) with this library (version 0x40602)". I found this thread which had similiary problem as me: http://talk.maemo.org/showthread.php?t=40562 . However, I don't quite understand the reply. At least my question now is: which library is 0x40503? The one the binary stated to use or the one the device is using?
I also tried "ldd name-of-my-app" on the device but there is neither version 0x40503 nor 0x40602.
How can I fix it? Thanks for help!

Cheers
 
Andre Klapper's Avatar
Posts: 1,665 | Thanked: 1,649 times | Joined on Jun 2008 @ Praha, Czech Republic
#2
Just guessing, but 0x40503 is maybe 4.5.3 and 0x40602 is maybe 4.6.2?
Sure that you don't have *also* Qt4.5 installed in parallel and accidentially linked against it when compiling?
Qt 4.5 and Qt 4.6 are not binary compatible...
__________________
maemo.org Bugmaster
 
Posts: 9 | Thanked: 2 times | Joined on Mar 2010
#3
Andre,
Thanks for your reply. That is also my guessing. And I checked the packages installed on the device, it seems that there are quite many qt4.5 packages. However, I don't know how to remove them and install qt4.6. On the tutorial I am only supposed to install libqt4-maemo5-gui. But I still can't have all 4.6 packages (for example D-Bus module). And I followed the instruction on here: http://aloogobi.nl/blog/2009/10/qt4-6-for-maemo-5/, but no luck.
Does any one know how to remove qt4.5 and install qt4.6 on the device? Thanks!
 
Andre Klapper's Avatar
Posts: 1,665 | Thanked: 1,649 times | Joined on Jun 2008 @ Praha, Czech Republic
#4
So you used some ancient (October) 3rd party packages for qt...
I'd rather go here: http://wiki.maemo.org/Qt
__________________
maemo.org Bugmaster
 
VDVsx's Avatar
Posts: 1,070 | Thanked: 1,604 times | Joined on Sep 2008 @ Helsinki
#5
This happens because you compiled your application against a specific version that is only partially available on the device, here's a example:

Your app depends on Qt-Gui(4.6) and Qt-dbus(4.6) because you linked against Qt 4.6, but on the device you only have Qt-Gui(4.6) and Qt-dbus(4.5), so the system complains about the mix.

So don't remove Qt 4.5 because so stuff need it, just install Qt 4.6.

SDK:

apt-get install libqt4-maemo5-*

Device:

libqt4-maemo5-gui
libqt4-maemo5-maemo5

HTH
__________________
Valério Valério
www.valeriovalerio.org
 

The Following 3 Users Say Thank You to VDVsx For This Useful Post:
Posts: 9 | Thanked: 2 times | Joined on Mar 2010
#6
VDVsx,
Thanks. Now it is working. I installed manually the corresponding packages of version 4.6, for example, Qt-dbus, Qt-network. I was hoping to get a whole package of every modules but could find such thing. This "libqt4-maemo5-maemo5" is not a package there. Or I thought if I installed one module, other ones should have been installed because of dependencies, however they didn't get installed automatically.
 
krk969's Avatar
Posts: 754 | Thanked: 630 times | Joined on Sep 2009 @ London
#7
Originally Posted by tetelee View Post
..... I was hoping to get a whole package of every modules but could find such thing. This "libqt4-maemo5-maemo5" is not a package there. Or I thought if I installed one module, other ones should have been installed because of dependencies, however they didn't get installed automatically.
you could try
apt-get install libqt4-maemo5*
or try installing one of the packages that has a lot of dependencies
like

apt-get install libqt4-maemo5-dev

to list the dependencies of maemo5-dev for example

apt-cache showpkg libqt4-maemo5-dev
__________________
Developer of :
Buddy - budget/expense manager ( website )
Showtime - a telly channel listing viewer/reminder ( website )
Travelapp - london underground status/planner ( website )
Batlevel - desktop widget for battery level ( website )

“I hear and I forget. I see and I remember. I do and I understand.”
 
VDVsx's Avatar
Posts: 1,070 | Thanked: 1,604 times | Joined on Sep 2008 @ Helsinki
#8
Originally Posted by tetelee View Post
VDVsx,
Thanks. Now it is working. I installed manually the corresponding packages of version 4.6, for example, Qt-dbus, Qt-network. I was hoping to get a whole package of every modules but could find such thing. This "libqt4-maemo5-maemo5" is not a package there. Or I thought if I installed one module, other ones should have been installed because of dependencies, however they didn't get installed automatically.
Humm, I've "libqt4-maemo5-maemo5":

Code:
[sbox-FREMANTLE_ARMEL: ~] > apt-cache search libqt4-maemo5-maemo5
libqt4-maemo5-maemo5-dbg - Qt 4 library debugging symbols
libqt4-maemo5-maemo5 - Qt 4 Maemo5 module
Probably you need to run "apt-get update"
__________________
Valério Valério
www.valeriovalerio.org
 
Posts: 9 | Thanked: 2 times | Joined on Mar 2010
#9
krk969 and VDVsx,
I meant the packages on the device. My scratchbox had 4.6 but on the device only had qt-core and qt-gui of 4.6. So there is no dev package for the device. And there seemed not to be wildcard install. I had to install every single one manually .
 
Posts: 9 | Thanked: 2 times | Joined on Mar 2010
#10
And VDVsx, there is libqt4-maemo5-maemo5 after "apt-get update"
 

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

Thread Tools

 
Forum Jump


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