• Ubuntu 22.04 无法使用网易云音乐


    Ubuntu 22.04 无法使用网易云音乐

    不关心排查过程和故障原因的读者,请直接跳转到总结章节。

    无法使用的原因

    22版本ubuntu升级了很多库文件,导致netease的库无法使用。netease的库中,使用的是老版本的libselinux,老版本的libselinx需要老版本的libgio,但是,22版本的libgio是新的,所以,需要重新复制新版本的libselinx等库到netease的库中。

    排查该问题的方法

    命令行运行命令:

    ubuntu@ubuntu-Desktop:~$ netease-cloud-music 
    /opt/netease/netease-cloud-music/netease-cloud-music: /opt/netease/netease-cloud-music/libs/libselinux.so.1: no version information available (required by /lib/x86_64-linux-gnu/libgio-2.0.so.0)
    /opt/netease/netease-cloud-music/netease-cloud-music: symbol lookup error: /lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_module_open_full
    
    • 1
    • 2
    • 3

    报错内容如下:
    /opt/netease/netease-cloud-music/netease-cloud-music: /opt/netease/netease-cloud-music/libs/libselinux.so.1: no version information available (required by /lib/x86_64-linux-gnu/libgio-2.0.so.0) /opt/netease/netease-cloud-music/netease-cloud-music: symbol lookup error: /lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_module_open_full

    这里可以看到,netease库文件目录为opt/netease/netease-cloud-music/netease-cloud-music/libs,库中libselinx版本明显与系统的/lib/x86_64-linux-gnu/中的ibgio-2.0.so.0对不上,所以,将环境中的libselinx库复制到netease库中。
    执行命令:

    sudo cp /lib/x86_64-linux-gnu/libselinux.so.1 /opt/netease/netease-cloud-music/libs/
    
    • 1

    随后继续执行命令

    ubuntu@ubuntu-Desktop:~$ netease-cloud-music 
    /opt/netease/netease-cloud-music/netease-cloud-music: symbol lookup error: /lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_module_open_full
    
    • 1
    • 2

    这里可以看到,报错undefined symbol: g_module_open_full
    执行命令:

    ubuntu@ubuntu-Desktop:~$ ldd -r /lib/x86_64-linux-gnu/libgio-2.0.so.0 | grep module
    	libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f5a031c8000)
    
    • 1
    • 2

    可以看到,系统库的libgio是新版本的,而netease的库中的libgmodule是老版本,libgio依赖于libgmodule,所以出错了,将系统库中libgmodule复制到netease库中。
    执行命令:

    sudo cp /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 /opt/netease/netease-cloud-music/libs/
    
    • 1

    同理,继续往下排查,后续的排查过程与上述一致,故省略了。

    总结

    执行以下命令可以解决该问题:

    sudo cp /lib/x86_64-linux-gnu/libselinux.so.1 /opt/netease/netease-cloud-music/libs/
    sudo cp /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 /opt/netease/netease-cloud-music/libs/
    sudo cp /lib/x86_64-linux-gnu/libpango-1.0.so.0 /opt/netease/netease-cloud-music/libs/
    sudo cp /lib/x86_64-linux-gnu/libfribidi.so.0 /opt/netease/netease-cloud-music/libs/
    sudo apt-get install libcanberra-gtk-module
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    算法竞赛进阶指南 基本算法 0x02 递推与递归
    前端如何下载后端传输的文件
    XJTUSE专业课与实验指南
    一篇文章带你搞懂 单调栈 是怎么回事
    将记录从excel当中导出为.sql文件,再新增到数据库
    Django案例-学员管理系统
    极简c++(4)类的静态成员
    电脑重装系统后台式电脑网卡坏了怎么修复
    Taro React 系列文章 - 总目录
    Dynamics CRM - 通过 C# Plugin 来 abandon Business Process Flow
  • 原文地址:https://blog.csdn.net/weixin_42152531/article/details/126620345