Package, install Skype on CentOS 5

CentOS 5 has its own GCC Standard C++ Library package, but it is relatively old:

$ rpm -q --provides libstdc++-4.1.2-48.el5.i386 |grep GLIBC  

Precompiled version of Skype 2.2 Beta for Linux requires a slightly newer version, Will install the libstdc++ package from Fedora 10, and make sure that it won't overwrite the one that came with the CentOS.

  1. Download, install the GCC Standard C++ Library RPM from the Fedora 10 archive.
# rpm -i --relocate /usr/lib=/usr/local/lib \
# rpm -ql libstdc++-4.3.2-7
# ( cd /usr/local/lib ; ls -log libstdc++* )
lrwxrwxrwx 1     19 Apr  6 12:00 ->
-rwxr-xr-x 1 954544 Nov  5  2008
# whereis /usr/lib/ /usr/local/lib/

Now will download a few files, build and install the RPM.

  1. Download statically compiled version of Skype (to avoid installation of Qt 4).
# cd /usr/src/redhat/SOURCES
# wget
  1. Download a simple patch, and a .spec file.
# url=
# wget $url/skype-
# wget $url/
# cd /usr/src/redhat/SPECS
# wget $url/skype.spec
  1. Build, then install the package.
# rpmbuild -bb skype.spec
# rpm -i /usr/src/redhat/RPMS/i386/skype-*.i386.rpm 

What was the patch needed for?

$ rpm -ql skype |grep desktop
$ grep Exec /usr/share/applications/skype.desktop
$ rpm -ql skype |grep bin/skype
$ pr -to3 /usr/bin/
   LD_PRELOAD=/usr/local/lib/ /usr/bin/skype

Upgrade to CentOS 5.6

If you'd followed instructions given above, and now are trying to upgrade your system to CentOS 5.6, you may encounter the following error:

# yum update
ERROR with rpm_check_debug vs depsolve: is needed by (installed) skype- is needed by (installed) skype- is needed by (installed) skype- is needed by (installed) skype-
(1, [u'Please report this error in'])

To work around this problem uninstall the libstdc++-4.3.2-7 package, upgrade libstdc++ to the version that comes with CentOS 5.6, and then install the libstdc++-4.3.2-7 package back in place.

# rpm -e --nodeps libstdc++-4.3.2-7
# yum update libstdc++

  libstdc++.i386 0:4.1.2-50.el5                 libstdc++.x86_64 0:4.1.2-50.el5                

Dependency Updated:
  cpp.x86_64 0:4.1.2-50.el5                    gcc.x86_64 0:4.1.2-50.el5                       
  gcc-c++.x86_64 0:4.1.2-50.el5                gcc-gfortran.x86_64 0:4.1.2-50.el5              
  libgcc.i386 0:4.1.2-50.el5                   libgcc.x86_64 0:4.1.2-50.el5                    
  libgfortran.x86_64 0:4.1.2-50.el5            libstdc++-devel.x86_64 0:4.1.2-50.el5           

# rpm -i --relocate /usr/lib=/usr/local/lib libstdc++-4.3.2-7.i386.rpm

See Also
Desktop Entry Specification
Skype on CentOS