首页 > 技术文章 > CentOS7.5安装网易云音乐

liangjiongyao 2018-05-31 10:22 原文

CentOS7中一直没有一个像样的音乐播放器,网易云音乐与深度科技团队在半年前就启动了“网易云音乐Linux版“, 但是只提供了Ubuntu(14.04&16.04)和deepin15版本,并不涉及CentOS7,不过花点时间还是可以在CentOS7中 安装上的。

 

一、下载安装包

1.1 下载ubuntu14.04版本 这里下载的是ubuntu16.04(64位)安装包,下载其他的版本有些依赖包找不到。

二、解压安装包

2.1 解压 netease-cloud-music_1.1.0_amd64_ubuntu.deb

使用如下命令解压:

ar -vx netease-cloud-music_1.0.0-2_amd64_ubuntu14.04.deb

得到如下三个文件
x - debian-binary
x - control.tar.gz
x - data.tar.xz

 

2.2 继续解压data.tar.xz

xz -dk data.tar.xz
tar -xvf data.tar

解压后得到的usr文件夹的内容如下

 

将他们放入到CentOS7中对应的/usr目录下

sudo cp -r usr/* /usr/

 

三、根据提示安装依赖

3.1 执行如下命令

[root@localhost opt]# cd /usr/bin/
[root@localhost bin]# ./netease-cloud-music 

命令执行后会提示缺少某些依赖包,我们可以通过如下几个步骤解决。

  1. 根据提示使用yum命令去仓库中查找是否有对应的安装包,有则安装上
  2. 如果yum命令查询不到对应的安装包则手动去http://www.rpmfind.net/下载对应的rpm包安装。

提示:只有很少的包需要去http://www.rpmfind.net/中下载对应的CentOS7的rpm包安装,多数是通过yum命令安装上的,请耐心查询对应的依赖包,马上就要成功了。

 

我启动后报的错是:

问题1:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: error while loading shared libraries: libvlc.so.5: cannot open shared object file: No such file or directory

解决办法:
[root@localhost bin]# yum -y install vlc

问题2:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

解决办法:
[root@localhost bin]# yum -y install libXScrnSaver.x86_64


问题3:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libqcef.so.1)
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libcef.so)
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libcef.so)

原因:由于开发人员使用的更高版本的gcc,而本机上面使用的gcc和对应的动态链接库版本过低
解决方法:下载高版本的gcc进行编译安装

[root@localhost lib64]# strings libstdc++.so.6 |grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_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

 

3.2 下载高版本的gcc

下载地址:http://mirrors.hust.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2

编译,安装过程

解压后进入目前
./contrib/download_prerequisites
./configure --prefix=/usr --enable-languages=c,c++ --disable-multilib
make -j4  #等50分钟左右
sudo make install 

 

处理libstdc++问题(在实际情况中,上一步make完毕之后就自动帮你做好连接了,不放心的话可以查看一下)

1:进入刚才编译的gcc5.4的如下目录
/home/cherish/gcc-5.4.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs

2:将libstdc++.so.6.0.21 复制到/lib64目录下
sudo cp  libstdc++.so.6.0.21 /lib64

3:将/lib64之前的旧的链接删掉,建立新的软链接
cd /lib64
sudo rm libstdc++.so.6
sudo ln -sv libstdc++.so.6.0.21 libstdc++.so.6

 

四、再次启动

[root@localhost bin]# ./netease-cloud-music 
[0531/095339.240154:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name
[0531/095351.300614:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name
[0531/095356.358927:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name
[0531/095528.374076:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name

这个报错暂时在网上找不到,不知道是什么原因,但是网易云音乐能够使用

 

感谢大神们的贡献:

https://github.com/caojx-git/learn/blob/master/notes/linux/CentOS7%E4%B8%AD%E5%AE%89%E8%A3%85%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90.md

https://segmentfault.com/a/1190000006863994

https://blog.csdn.net/hong_sir1988/article/details/72716690

 

 

 

 

 

 

推荐阅读