【问题标题】:How to deal with: ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structured_standard如何处理: ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structured_standard
【发布时间】:2018-05-04 14:29:11
【问题描述】:

我有一台 MacBook Pro,我在上面安装了 VirtualBox,安装了 Anaconda(来自 https://www.continuum.io),并安装了 OpenCV(conda install -c menpo opencv

执行的 Python:

python
Python 2.7.14 |Anaconda, Inc.| (default, Dec  7 2017, 17:05:42) 
[GCC 7.2.0] on linux2

并尝试导入 OpenCV:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structured_standard

我在 Google 上搜索了该错误,但关于此的条目并不多,而且我找到的条目也未解决。我什至不明白错误是什么,所以不知道如何解决它。我已经在其他系统上多次安装 Anaconda 和 OpenCV 没有问题。

知道如何解决这个错误吗?

【问题讨论】:

  • 奇怪。这可能意味着 glib 可能会丢失。你可以试试安装吗? conda install -c anaconda glib

标签: python opencv error-handling


【解决方案1】:

在 Ubuntu 18.04 中,问题似乎与 @VamsidharReddyGaddam 的假设相反。

我检查了: grep -l g_log_structured_standard /usr/lib/x86_64-linux-gnu/*glib*.so* # and grep -l g_log_structured_standard ~/anaconda3/lib/*glib*so*

第一个 find 成功,第二个没有。

我想/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 是针对较新的libglib(ubuntu 18.04 上的/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.1)编译/链接的,而不是由 anaconda 安装的(此时为~/anaconda3/lib/libglib-2.0.so.0.5306.0)。

如此不同的 dirty hack 可以“帮助”:

mv ~/anaconda3/lib/libglib-2.0.so.0 ~/anaconda3/lib/libglib-2.0.so.0.backup

在 Ubuntu 18.04 中。 :/ (我怀疑它以后会带来不同的问题!!!)

我们如何填写 anaconda 的问题?

【讨论】:

    【解决方案2】:

    是的,我检查了一下,更新库没问题。 使用推荐conda install -c anaconda glib

    【讨论】:

      【解决方案3】:

      对我来说,我意识到我的 anaconda 是在 python3.7 上运行的,它所指的 python 程序位于 anaconda 文件夹中,我切换到运行 3.9 版的系统范围的 python 解释器,它对我有用。看看它是否也适合你。

      【讨论】:

        猜你喜欢
        • 2022-10-08
        • 2021-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-12
        • 2019-07-23
        • 2012-11-27
        相关资源
        最近更新 更多