Reservations that I have about proprietary software like Skype notwithstanding, it has to be said that there is nothing currently to compete with it in ease-of-use terms, in the free software world. However, if you’re running a Red Hat Enterprise Linux 6 desktop and try to install the Fedora 16 package downloaded from Skype’s Linux downloads page, you’ll probably be unsuccessful (at least with version 4.0.0.8) and see something like this:
error: Failed dependencies:
alsa-lib >= 1.0.23 is needed by skype-4.0.0.8-fc16.i586
libstdc++.so.6(GLIBCXX_3.4.15) is needed by skype-4.0.0.8-fc16.i586
At first glance this looks like a no-go: Skype simply won’t work on this platform. But actually it’s not true; it’s just a badly-built RPM. It never ceases to amaze me the number of ways that proprietary software vendors manage to mangle RPMs (perhaps they need some RPM workshops from our expert team at Red Hat Consulting?); a very common scenario seems to override RPM’s very good automatic dependency generation and instead pile in the dependencies manually – usually incorrectly.
Now, one can of course simply force the package install with rpm --force
, but this is really not the right thing to do, and also not workable if one wanted to push out via a yum repository. So, I decided to re-package the RPM using a standard Fedora template (using the rpmdev-newspec
command, as usual) and adhering as closely as possible to the Fedora packaging guidelines. The resulting Skype spec file for RHEL6 can be downloaded together with a slightly-cleaned-up desktop file; you download the Skype binary tarball instead of the Fedora package as the source. With these you can build a clean RPM.
(Side note: the same could probably be achieved in a less clean way with an interesting tool which my colleague Harri Savolainen pointed out to me the other day: rpmrebuild)
(Another aside: previous versions like 4.0.0.7 seemed to require a symlink from libtiff.so.3 to libtiff.so.4, but at least so far Skype 4.0.0.8 is working for me without that symlink)
Hi Tim, this blog has helped with install skype on RHEL 6. Great work..Much appreciated
Thanks for the comment! Glad it was useful.
I hate to ask something that I suspect is obvious, but how do i build the new rpm? Do I need a “real” rpm environment (not something I have ever attempted but understand in theory)? or is there some simple yum/rpm command line magic I don’t know about? Thanks a lot for this, was banging my head against the wall trying to get the build to work.
You need the “rpmbuild” tool (part of RPM) plus a config file and a few directories. Try reading this article: http://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package (read “Development environment” to get the initial setup done). After that, simply put skype.spec into ~/rpmbuild/SPECS and the downloaded Skype binary together with the desktop file referenced above into ~/rpmbuild/SOURCES and then it’s basically “rpmbuild -bb skype.spec”