PDA

View Full Version : App compiled against 4.6 won't run on 4.5 ?



Seve
29th January 2010, 23:06
Hello:

I have an application [mscore] that will only compile against Qt 4.6.
I can successfully compile, install and run it on the same system with Qt 4.6.1 installed, however if I install the same compiled app on a system with Qt 4.5.3 installed the application will not start and produces the following error;

[seve@larissa ~]$ mscore
mscore: symbol lookup error: mscore: undefined symbol: _ZN11QVectorData8allocateEii
Other info

Build Host - Qt version 4.6.1
Client Machine - Qt version 4.5.3
The build host and the client are x86_64 Fedora 12 running the same kernel 2.6.31.12-174.2.3.fc12.x86_64

I'm not a programmer and as such I have no idea what the error means so any help would be greatly appreciated.

Thanks

squidge
29th January 2010, 23:17
Considering that 4.6 has more fuctionality than 4.5.3, this would be the expected outcome. The solution would be to upgrade the other machine to 4.6.

ktk
30th January 2010, 00:01
Compatibility is only provided in the direction that an application compiled against Qt 4.x will run with Qt 4.y libraries for x <= y.

Seve
30th January 2010, 00:59
Considering that 4.6 has more fuctionality than 4.5.3, this would be the expected outcome. The solution would be to upgrade the other machine to 4.6.
Thanks for the reply.
The client machine and similar user's machines cannot be updated to 4.6.1 at this time -- the option to update from 4.5.3 to 4.6.1 is not available via the standard software repositories.
I should have mentioned that in my original post.

Seve
30th January 2010, 01:03
Compatibility is only provided in the direction that an application compiled against Qt 4.x will run with Qt 4.y libraries for x <= y.

It would appear that I am out of luck unless the client machines have 4.6.1 installed.

Thanks

squidge
30th January 2010, 10:05
You can try and compile them against 4.5.3 if the apps don't use any 4.6 functionality themselves, otherwise you'll have to upgrade those machines.