Es crea la pàgina amb «Package, install Skype 2.2.0.35 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.e...». |
Cap resum de modificació |
||
| Línia 1: | Línia 1: | ||
Package, install Skype 2.2.0.35 on CentOS 5 | Source -> http://punkts.org/trac/wiki/Skype22ForCentOS5 | ||
Package, install Skype 2.2.0.35 on CentOS 5 | |||
CentOS 5 has its own GCC Standard C++ Library package, but it is relatively old: | CentOS 5 has its own GCC Standard C++ Library package, but it is relatively old: | ||
| Línia 13: | Línia 15: | ||
libstdc++.so.6(GLIBCXX_3.4.7) | libstdc++.so.6(GLIBCXX_3.4.7) | ||
libstdc++.so.6(GLIBCXX_3.4.8) | 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. | 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. | ||
| Línia 19: | Línia 21: | ||
1. Download, install the GCC Standard C++ Library RPM from the Fedora 10 archive. | 1. Download, install the GCC Standard C++ Library RPM from the Fedora 10 archive. | ||
# rpm -i --relocate /usr/lib=/usr/local/lib | # 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 | # rpm -ql libstdc++-4.3.2-7 | ||
/usr/local/lib/libstdc++.so.6 | /usr/local/lib/libstdc++.so.6 | ||
/usr/local/lib/libstdc++.so.6.0.10 | /usr/local/lib/libstdc++.so.6.0.10 | ||
# ( cd /usr/local/lib ; ls -log libstdc++* ) | # ( cd /usr/local/lib ; ls -log libstdc++* ) | ||
lrwxrwxrwx 1 19 Apr 6 12:00 libstdc++.so.6 -> libstdc++.so.6.0.10 | 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 | -rwxr-xr-x 1 954544 Nov 5 2008 libstdc++.so.6.0.10 | ||
# whereis libstdc++.so.6 | # whereis libstdc++.so.6 | ||
libstdc++.so: /usr/lib/libstdc++.so.6 /usr/local/lib/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. | Now will download a few files, build and install the RPM. | ||
| Línia 46: | Línia 47: | ||
# wget $url/skype-2.2.0.25-shell.patch | # wget $url/skype-2.2.0.25-shell.patch | ||
# wget $url/skype.sh | # wget $url/skype.sh | ||
# cd /usr/src/redhat/SPECS | # cd /usr/src/redhat/SPECS | ||
# wget $url/skype.spec | # wget $url/skype.spec | ||
4. Build, then install the package. | 4. Build, then install the package. | ||
| Línia 55: | Línia 56: | ||
# rpmbuild -bb skype.spec | # rpmbuild -bb skype.spec | ||
[...] | [...] | ||
# rpm -i /usr/src/redhat/RPMS/i386/skype-2.2.0.35-*.i386.rpm | # rpm -i /usr/src/redhat/RPMS/i386/skype-2.2.0.35-*.i386.rpm | ||
What was the patch needed for? | What was the patch needed for? | ||
| Línia 63: | Línia 64: | ||
$ rpm -ql skype |grep desktop | $ rpm -ql skype |grep desktop | ||
/usr/share/applications/skype.desktop | /usr/share/applications/skype.desktop | ||
$ grep Exec /usr/share/applications/skype.desktop | $ grep Exec /usr/share/applications/skype.desktop | ||
Exec=skype.sh | Exec=skype.sh | ||
$ rpm -ql skype |grep bin/skype | $ rpm -ql skype |grep bin/skype | ||
/usr/bin/skype | /usr/bin/skype | ||
/usr/bin/skype.sh | /usr/bin/skype.sh | ||
$ pr -to3 /usr/bin/skype.sh | $ pr -to3 /usr/bin/skype.sh | ||
#!/bin/sh | #!/bin/sh | ||
LD_PRELOAD=/usr/local/lib/libstdc++.so.6 /usr/bin/skype | LD_PRELOAD=/usr/local/lib/libstdc++.so.6 /usr/bin/skype | ||
Upgrade to CentOS 5.6 | |||
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: | 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: | ||
| Línia 89: | Línia 90: | ||
Complete! | Complete! | ||
(1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum']) | (1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum']) | ||
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. | 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 | # rpm -e --nodeps libstdc++-4.3.2-7 | ||
# yum update libstdc++ | # yum update libstdc++ | ||
[...] | [...] | ||
| Línia 108: | Línia 109: | ||
Complete! | Complete! | ||
# rpm -i --relocate /usr/lib=/usr/local/lib libstdc++-4.3.2-7.i386.rpm | # rpm -i --relocate /usr/lib=/usr/local/lib libstdc++-4.3.2-7.i386.rpm | ||
Revisió del 18:00, 27 gen 2012
Source -> http://punkts.org/trac/wiki/Skype22ForCentOS5
Package, install Skype 2.2.0.35 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.
2. 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.35.tar.bz2
3. 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
4. Build, then install the package.
- rpmbuild -bb skype.spec
[...]
- rpm -i /usr/src/redhat/RPMS/i386/skype-2.2.0.35-*.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
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: libstdc++.so.6(GLIBCXX_3.4.9) is needed by (installed) skype-2.2.0.25-2.el5.punkts.i386 libstdc++.so.6(GLIBCXX_3.4.9) is needed by (installed) skype-2.2.0.25-2.el5.punkts.i386 libstdc++.so.6(GLIBCXX_3.4.9) is needed by (installed) skype-2.2.0.25-2.el5.punkts.i386 libstdc++.so.6(GLIBCXX_3.4.9) is needed by (installed) skype-2.2.0.25-2.el5.punkts.i386 Complete! (1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum'])
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++
[...]
Updated:
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
Complete!
- rpm -i --relocate /usr/lib=/usr/local/lib libstdc++-4.3.2-7.i386.rpm