wiki:Skype22ForCentOS5

Version 2 (modified by iva, 14 years ago) (diff)

--

Package, install Skype 2.2.0.25 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
libstdc++.so.6(GLIBCXX_3.4)  
libstdc++.so.6(GLIBCXX_3.4.1)  
libstdc++.so.6(GLIBCXX_3.4.2)  
libstdc++.so.6(GLIBCXX_3.4.3)  
libstdc++.so.6(GLIBCXX_3.4.4)  
libstdc++.so.6(GLIBCXX_3.4.5)  
libstdc++.so.6(GLIBCXX_3.4.6)  
libstdc++.so.6(GLIBCXX_3.4.7)  
libstdc++.so.6(GLIBCXX_3.4.8)  
$

Precompiled version of Skype 2.2 Beta for Linux requires a slightly newer version, libstdc++.so.6(GLIBCXX_3.4.9). 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 \
    http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/10/Fedora/i386/os/Packages/libstdc++-4.3.2-7.i386.rpm
#
# rpm -ql libstdc++-4.3.2-7
/usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6.0.10
#
# ( cd /usr/local/lib ; ls -log libstdc++* )
lrwxrwxrwx 1     19 Apr  6 12:00 libstdc++.so.6 -> libstdc++.so.6.0.10
-rwxr-xr-x 1 954544 Nov  5  2008 libstdc++.so.6.0.10
#
# whereis libstdc++.so.6
libstdc++.so: /usr/lib/libstdc++.so.6 /usr/local/lib/libstdc++.so.6
#

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 http://www.skype.com/go/getskype-linux-static/skype_static-2.2.0.25.tar.bz2
  1. Download a simple patch, and a .spec file.
# url=http://punkts.org/sw/el5
# wget $url/skype-2.2.0.25-shell.patch
# wget $url/skype.sh
#
# 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-2.2.0.25-*.i386.rpm 
#

What was the patch needed for?

$ rpm -ql skype |grep desktop
/usr/share/applications/skype.desktop
$
$ grep Exec /usr/share/applications/skype.desktop
Exec=skype.sh
$
$ rpm -ql skype |grep bin/skype
/usr/bin/skype
/usr/bin/skype.sh
$
$ pr -to3 /usr/bin/skype.sh
   #!/bin/sh
   LD_PRELOAD=/usr/local/lib/libstdc++.so.6 /usr/bin/skype
$

See Also

http://freedesktop.org/wiki/Specifications/desktop-entry-spec
Desktop Entry Specification

http://wiki.centos.org/HowTos/Skype
Skype on CentOS