【发布时间】:2017-03-20 10:52:32
【问题描述】:
我正在尝试使用 GUI (QT) 安装名为 bgslibrary 的软件。 cmake 生成构建文件没有问题。但是当我执行make 时,我收到以下与libgtk 和cairo 相关的错误:
/usr/lib/x86_64-linux-gnu//libgtk-3.so.0: undefined reference to `cairo_surface_set_device_scale'
我正在使用带有 gcc 5.4.1 的 Ubuntu 16.04,我还安装了 Anaconda 作为 Python 发行版。我用谷歌搜索了一下,发现有些人通过从LD_LIBRARY_PATH 中删除他们的$HOME/anaconda/lib 目录解决了这个问题,因为Anaconda 可能会以某种方式干扰gtk 库。我试过了,但它对我不起作用。
我还检查了我系统上libgtk 和cairo 的版本和符号链接。
/usr/lib/x86_64-linux-gnu//libgtk-3.so.0 -> libgtk-3.so.0.1800.9
和sudo apt-get install libcairo2-dev 产生:
libcairo2-dev is already the newest version (1.14.6-1).
libgtk 和 cairo 版本之间是否存在不匹配?我记得其他需要gtk 的软件也遇到过这个错误,所以我想知道是否有人有类似的问题。谢谢!
【问题讨论】:
-
我刚刚意识到,当我尝试启动 Eclipse 时,我也遇到了同样的错误:
/usr/bin/java: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale/opt/eclipse/eclipse: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale