由于我在笔记本电脑上安装了 ubuntu,我遇到了一个问题gstreamer
,它影响了许多使用它的程序,totem,kdenlive
甚至gnome-control-center
,并阻止它们工作。
返回的错误信息是:
totem: symbol lookup error: /lib/x86_64-linux-gnu/libgstaudio-1.0.so.0:
undefined symbol: gst_aggregator_simple_get_next_time
或者
kdenlive: symbol lookup error: /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0:
undefined symbol: gst_aggregator_simple_get_next_time
我查看了gstreamer
网站,看看它是什么类型的错误。到目前为止,我了解.so
文件是收集可以由各种程序调用的函数的库。GstBase.Aggregator
似乎是一个类,而 simple_get_next_time 是一个返回一些整数的方法。我上一堂计算机课的时间很长,但在我看来,这种问题是“结构性的”,我的意思是一个函数无法识别某些类方法。我试图重新安装所有gstreamer
程序、插件和东西,但问题仍然存在。所以我假设这个类的编码很糟糕。它不成立,因为我看着www :
我似乎是唯一遇到这个特定问题的人。
问题是:我正在使用全新安装的非常通用的程序,这些程序对每个人都没有任何错误,所以我怎么会遇到这种“结构错误”?
我正在运行 Ubuntu 20.04。
apt-cache policy libgstreamer-plugins-base1.0-0
返回:
libgstreamer-plugins-base1.0-0:
Installé : 1.16.2-4
Candidat : 1.16.2-4
Table de version :
1.16.2-4 500
500 http://fr.archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
ldd /lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 | grep local
返回
libgstbase-1.0.so.0 => /usr/local/lib/libgstbase-1.0.so.0 >(0x00007ff3272d5000)
libgstreamer-1.0.so.0 => /usr/local/lib/libgstreamer-1.0.so.0 >(0x00007ff326fbb000)
和
ldd /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 | grep local
返回
libgstbase-1.0.so.0 => /usr/local/lib/libgstbase-1.0.so.0 (0x00007f4cc0a04000)
libgstreamer-1.0.so.0 => /usr/local/lib/libgstreamer-1.0.so.0 (0x00007f4cc06ea000)
我很失望,请帮助我!祝你今天过得愉快。
由于
ldd
输出在 中找到库/usr/local/lib
,这可能是自编译 gstreamer 库的一些剩余部分。它们可能与系统 gstreamer 库二进制兼容,也可能不兼容,这可能就是问题所在。所以,暂时,试着离开
/usr/local/lib
(或/usr/local
完全离开)然后再试一次:现在重建链接器缓存以获得更好的效果:
现在再次尝试运行这些应用程序。
此外,这条路
/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0
对我来说看起来很可疑;那应该是/usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0
。请检查这是否是一个损坏的符号链接:如果没有损坏的符号链接,则输出将为空;否则列出的每一行都是一个损坏的符号链接。
高温高压
谢谢你的帮助。正如你告诉我的那样,我已经移动了 /usr/local/lib 。这些应用程序现在正在运行!两个有问题的库与 /usr/local/lib 中的无用库有一些依赖关系?
关于断开的符号链接,您的下一点也是正确的,我已经运行了命令:
返回:
这是一个关键问题,我该如何解决?