Ubuntu22.04运行网易云音乐错误
1、前言
- 这里只做解决方案记载,节省大家找资料的时间,方便下次快速搭建开发环境使用的。理论知识可能会是了涉及,但是肯定是以解决方案为主。
- 基本上大部分的软件使用不料都是依赖的问题,首先百度查找解决方案 百度找不到就去官网官网找,官网找不到就看软件的依赖版本,然后查看系统的依赖版本是否兼容。
- 尤其是Ubuntu22.04 更新了很多依赖的版本 而市面上软件的linux 版本又很老,所以很容易导致说使用的依赖版本比软件实际上的依赖版本更低,在安装软件的时候要很注意的看一下。
2、报错原因
- 参考连接:https://icode.best/i/15851947332762
- Ubuntu 22.04由于更换/升级了一些动态库,系统动态库x86_64-linux-gnu内libgio-2.0.so.0、libpangocairo-1.0.so.0引用库缺少了函数支持, 导致程序无法运行,又因前两个动态库的更换导致依赖动态库libselinux.so.1缺少。故只能使用安装目录库并补齐以上三个动态库,且Ubuntu22.04的库无法使用,只能使用21.10以下的系统库文件。
3、需要资源
-
网易云安装包:https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb
- 这里不知道官网的为啥不行 先记录一下 只能使用这个安装包
-
动态连接库 : 链接: https://pan.baidu.com/s/1XZ6JgSi7ql0rsWy_DQUtcw 提取码: b587
4、解决方案
# 安装软件
sudo dpkg -i netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb
# 修改启动脚本
vim /opt/netease/netease-cloud-music/netease-cloud-music.bash
# 修改为
- -----
#!/bin/sh
#HERE="$(dirname "$(readlink -f "${0}")")"
HERE=/opt/netease/netease-cloud-music
export LD_LIBRARY_PATH="${HERE}"/libs
export QT_PLUGIN_PATH="${HERE}"/plugins
export QT_QPA_PLATFORM_PLUGIN_PATH="${HERE}"/plugins/platforms
exec $HERE/netease-cloud-music $@
- -----
# 将动态连接库复制到网易云音乐依赖包里面 注意不要放全局 因为只有网易云用这个 其他的系统模块还是用原来的 放全局容易会导致系统崩溃
cp libgio-2.0.so.0 libpangocairo-1.0.so.0.4800.10 libselinux.so.1 /opt/netease/netease-cloud-music/libs
# 更改连接库名称
cd /opt/netease/netease-cloud-music/libs
mv libpangocairo-1.0.so.0.4800.10 libpangocairo-1.0.so.0
# 启动
netease-cloud-music