| 1 | |
| 2 | == Package, install Skype 2.2.0.25 on CentOS 5 == |
| 3 | |
| 4 | |
| 5 | |
| 6 | CentOS 5 has its own **GCC Standard C++ Library** package, but it is relatively old: |
| 7 | |
| 8 | {{{ |
| 9 | $ rpm -q --provides libstdc++-4.1.2-48.el5.i386 |grep GLIBC |
| 10 | libstdc++.so.6(GLIBCXX_3.4) |
| 11 | libstdc++.so.6(GLIBCXX_3.4.1) |
| 12 | libstdc++.so.6(GLIBCXX_3.4.2) |
| 13 | libstdc++.so.6(GLIBCXX_3.4.3) |
| 14 | libstdc++.so.6(GLIBCXX_3.4.4) |
| 15 | libstdc++.so.6(GLIBCXX_3.4.5) |
| 16 | libstdc++.so.6(GLIBCXX_3.4.6) |
| 17 | libstdc++.so.6(GLIBCXX_3.4.7) |
| 18 | libstdc++.so.6(GLIBCXX_3.4.8) |
| 19 | $ |
| 20 | }}} |
| 21 | |
| 22 | 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. |
| 23 | |
| 24 | 1. Download, install the GCC Standard C++ Library RPM from the Fedora 10 archive. |
| 25 | |
| 26 | {{{ |
| 27 | # rpm -i --relocate /usr/lib=/usr/local/lib \ |
| 28 | http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/10/Fedora/i386/os/Packages/libstdc++-4.3.2-7.i386.rpm |
| 29 | # |
| 30 | # rpm -ql libstdc++-4.3.2-7 |
| 31 | /usr/local/lib/libstdc++.so.6 |
| 32 | /usr/local/lib/libstdc++.so.6.0.10 |
| 33 | # |
| 34 | # ( cd /usr/local/lib ; ls -log libstdc++* ) |
| 35 | lrwxrwxrwx 1 19 Apr 6 12:00 libstdc++.so.6 -> libstdc++.so.6.0.10 |
| 36 | -rwxr-xr-x 1 954544 Nov 5 2008 libstdc++.so.6.0.10 |
| 37 | # |
| 38 | # whereis libstdc++.so.6 |
| 39 | libstdc++.so: /usr/lib/libstdc++.so.6 /usr/local/lib/libstdc++.so.6 |
| 40 | # |
| 41 | }}} |
| 42 | |
| 43 | Now will download a few files, build and install the RPM. |
| 44 | |
| 45 | 2. Download statically compiled version of Skype (to avoid installation of **Qt 4**). |
| 46 | |
| 47 | {{{ |
| 48 | # cd /usr/src/redhat/SOURCES |
| 49 | # wget http://www.skype.com/go/getskype-linux-static/skype_static-2.2.0.25.tar.bz2 |
| 50 | }}} |
| 51 | |
| 52 | 3. Download a simple patch, and a {{{.spec}}} file. |
| 53 | |
| 54 | {{{ |
| 55 | # url=http://punkts.org/sw/el5 |
| 56 | # wget $url/skype-2.2.0.25-shell.patch |
| 57 | # wget $url/skype.sh |
| 58 | # |
| 59 | # cd /usr/src/redhat/SPECS |
| 60 | # wget $url/skype.spec |
| 61 | # |
| 62 | }}} |
| 63 | |
| 64 | 4. Build, then install the package. |
| 65 | |
| 66 | {{{ |
| 67 | # rpmbuild -bb skype.spec |
| 68 | [...] |
| 69 | # |
| 70 | # rpm -i /usr/src/redhat/RPMS/i386/skype-2.2.0.25-*.i386.rpm |
| 71 | # |
| 72 | }}} |
| 73 | |
| 74 | What was the patch needed for? |
| 75 | |
| 76 | {{{ |
| 77 | $ rpm -ql skype |grep desktop |
| 78 | /usr/share/applications/skype.desktop |
| 79 | $ |
| 80 | $ grep Exec /usr/share/applications/skype.desktop |
| 81 | Exec=skype.sh |
| 82 | $ |
| 83 | $ rpm -ql skype |grep bin/skype |
| 84 | /usr/bin/skype |
| 85 | /usr/bin/skype.sh |
| 86 | $ |
| 87 | $ pr -to3 /usr/bin/skype.sh |
| 88 | #!/bin/sh |
| 89 | LD_PRELOAD=/usr/local/lib/libstdc++.so.6 /usr/bin/skype |
| 90 | $ |
| 91 | }}} |
| 92 | |
| 93 | === See Also === |
| 94 | |
| 95 | http://freedesktop.org/wiki/Specifications/desktop-entry-spec \\ Desktop Entry Specification |
| 96 | |
| 97 | http://wiki.centos.org/HowTos/Skype \\ Skype on CentOS |
| 98 | |
| 99 | |