Wednesday, October 19, 2005

Skype debian package - libqt3c102-mt

Skype may be a great free Voice-over-IP (VoIP) application for all sorts of operating systems, but they should test their linux installs better. A dependency in the current debian package (and therefore affecting ubuntu, which I run), is rather broken. To the point that it stopped me installing or doing anything else with packages unless I removed the skype package. I could have done that and installed the binary, or converted an rpm package using 'alien'; but I wanted to keep it dpkg'd; and I fancied being able to do future upgrades more easily too (assuming they fix it).

When you try and do stuff it complains about one of the QT libraries - libqt3c102-mt. Ubuntu Breezy Badger and Hoary Hedgehog (version names of Ubuntu releases in case you didn't know) do have a recent enough version of this library, in fact they have a more recent version (3:3.3.3-7ubuntu3 at present) than the required (3: - but as you can see there, the subtle difference (the .2 against the -7) means the dependency-checking will break and it will think it's not new enough.

I hack-fixed mine (not all that great a solution, but I don't know enough about .deb packages yet, maybe I'd issue a better fix or provide a script to fix it for you if I did.

My hacky way (please note, usual kind of disclaimers - I don't KNOW that it won't break other stuff or future upgrades of skype but I reckon you're ok):

  1. edit /var/lib/dpkg/status using vi or gedit or whatever you like as long as it's a plain text editor that won't add extra characters to it (you'll need to use sudo or do it as root, sudo -e is handy as the command instead of your editor).
  2. Do a search for skype.
  3. Below the block of stuff for skype, you'll see a line that lists shared libraries (shlibs?) and version numbers. The bit for libqt3c102-mt needs to have the number in brackets after it changed from 3:

I actually changed mine to the -7ubuntu3 I have but that's probably not the best choice. Try 3:3.3.3-2 ie. take replace the "." in the last ".2" with "-2"). I'm not sure that's good enough, but to my mind (without testing), it's closest to being right. If it doesn't work you're welcome to try others. Save the file and exit the editor, then try rerunning synaptic or your apt-get command or whatever it was you were trying to install.

You're welcome to post comments so other people can see which one(s) work too.

The PROPER fix of course is to extract skype's .deb package, fix the control info in that (yes, I had a little look into it and understood some of it a little already but not really enough or it was going to take too long to make sure I did it right); then rebuild the package and install that instead of the one direct from the skype website. It might just be a similar change, but hey, my fix works for now and stops it complaining anytime you do package stuff.

Hopefully it won't break anything else needing that library. I doubt it will (?) but ...

Usual disclaimers, as I said above - YMMV.

No comments:

Post a Comment