我的环境:
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
$ uname -a
Linux X 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ rpm -q glibc
glibc-2.17-196.el7.x86_64
glibc-2.17-196.el7.i686
$
我正在努力追随下载 Skype |免费通话|聊天应用程序:
$ sudo rpm -ivh https://go.skype.com/skypeforlinux-64.rpm
Retrieving https://go.skype.com/skypeforlinux-64.rpm
error: Failed dependencies:
libstdc++.so.6(GLIBCXX_3.4.20)(64bit) is needed by skypeforlinux-8.9.0.1-1.x86_64
$
难道我做错了什么?还是微软这边?
答案1
看来您正在运行 Centos 7。strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
在 Centos 7 中发出命令时,它显示以下输出:
GLIBCXX_3.4
_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
这意味着目前 Centos 不支持最新版本 Skype (v8.9) 所需的 glibc 版本(即 GLIBCXX_3.4.20)。
如果现在想在 Centos 中安装 Skype,您可以查看 nux 存储库,其中包含 Skype 的预编译版本(可能是旧版本)。或者您始终可以从源代码构建最新的 glibc,然后尝试安装 Skype。
答案2
您可以提取包的内容,例如rpm:
$ rpm2cpio skypeforlinux-64.rpm | cpio -id
然后运行它(从您提取它的位置):
$ usr/share/skypeforlinux/skypeforlinux
有关 glibc 3.4.20 的信息:
看起来唯一需要它的文件是 cld.node (usr/share/skypeforlinux/resources/app.asar.unpacked/node_modules/@paulcbetts/cld/build/Release/cld.node)
答案3
Microsoft 尝试在不稳定版本 8.11.76.3 中修复 CentOS/RHEL 7 的此问题这里。更多信息请参见这个 CentOS 线程。
答案4
...不是最好的方法,但是可以使用--nodeps
,如下所示:
$ sudo rpm -ivh https://go.skype.com/skypeforlinux-64.rpm --nodeps
Retrieving https://go.skype.com/skypeforlinux-64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:skypeforlinux-8.9.0.1-1 ################################# [100%]
Redirecting to /bin/systemctl start atd.service
$ echo $?
0
$
另一种方法是降级到旧版本的 Skype:
下一步仅适用于您使用--nodeps
选项的情况,否则跳至下一步:
$ sudo yum remove skypeforlinux
Loaded plugins: fastestmirror, langpacks, nvidia
Resolving Dependencies
--> Running transaction check
---> Package skypeforlinux.x86_64 0:8.9.0.1-1 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================
Package Arch Version Repository Size
=========================================================================================================
Removing:
skypeforlinux x86_64 8.9.0.1-1 installed 206 M
Transaction Summary
=========================================================================================================
Remove 1 Package
Installed size: 206 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : skypeforlinux-8.9.0.1-1.x86_64 1/1
Verifying : skypeforlinux-8.9.0.1-1.x86_64 1/1
Removed:
skypeforlinux.x86_64 0:8.9.0.1-1
Complete!
$
继续安装旧版本skypeforlinux
:
$ sudo yum install skypeforlinux-5.5.0.1-1
Loaded plugins: fastestmirror, langpacks, nvidia
Loading mirror speeds from cached hostfile
* base: linux.cc.lehigh.edu
* elrepo: reflector.westga.edu
* epel: mirror.nodesdirect.com
* extras: mirror.cs.vt.edu
* nux-dextop: mirror.li.nux.ro
* updates: mirror.metrocast.net
Resolving Dependencies
--> Running transaction check
---> Package skypeforlinux.x86_64 0:5.5.0.1-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================
Package Arch Version Repository Size
=========================================================================================================
Installing:
skypeforlinux x86_64 5.5.0.1-1 skype-stable 69 M
Transaction Summary
=========================================================================================================
Install 1 Package
Total download size: 69 M
Installed size: 69 M
Is this ok [y/d/N]: y
Downloading packages:
skypeforlinux_5.5.0.1-1.x86_64.rpm | 69 MB 00:00:35
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : skypeforlinux-5.5.0.1-1.x86_64 1/1
Redirecting to /bin/systemctl start atd.service
Verifying : skypeforlinux-5.5.0.1-1.x86_64 1/1
Installed:
skypeforlinux.x86_64 0:5.5.0.1-1
Complete!
$