找不到包“gdk-pixbuf-2.0”
Posted
技术标签:
【中文标题】找不到包“gdk-pixbuf-2.0”【英文标题】:No package 'gdk-pixbuf-2.0' found 【发布时间】:2014-12-11 13:39:47 【问题描述】:我正在尝试在 Amazon Linux 发行版实例上构建 librsvg。我已经通过 yum 安装了大部分依赖项。在实例上启用了默认 yum 存储库中不可用的一些内容,因此必须从头开始构建它们。我已经走了很远,但被困在最后一点。当为 librsvg 运行 sudo ./configure
时,我得到 No package 'gdk-pixbuf-2.0' found
。对于我通过 yum 安装的一些软件包,我确实收到了这条消息,安装这些库的 -dev 版本解决了我的问题。目前 gdk-pixbuf-2.0 是我从源代码安装的唯一库。
以下是缺失库的 pkg-config 结果:
$ pkg-config --list-all | grep pixbuf
> gdk-pixbuf-2.0 GdkPixbuf - Image loading and scaling
$ pkg-config --modversion pixbuf
> 2.26.1
-
为什么找不到这个包?
-dev/-devel 包通常安装/配置什么?
还有其他环境在起作用吗?即 LD_LIBRARY_PATH、CPPFLAGS、LDFLAGS
我是否在构建步骤中遗漏了一个可以正确注册此包/lib 的步骤?
【问题讨论】:
通常您不需要(或不想)以 root 身份运行./configure
脚本。一般也不是make
。 make install
虽然一般来说确实需要它。
您是否必须设置任何 pkg-config 相关的环境变量才能让pkg-config
找到它? sudo 'pkg-config --list-all | grep pixbuf'
找到了吗?
是的,我必须手动设置PKG_CONFIG_PATH
。我搜索了 gdk-pixbuf-2.0.pc 文件并将该路径添加到PKG_CONFIG_PATH
。
以非 root 用户身份运行 ./configure
会产生 ./configure: line 2097: config.log: Permission denied
。
是的,一旦您以 root 身份运行它,它就会触及各种文件并导致权限问题。您需要修复目录中的所有 root 拥有的文件,然后才能以非 root 身份运行它。
【参考方案1】:
运行 pkg-config --libs gdk-pixbuf-2.0
和 pkg-config --cflags gdk-pixbuf-2.0
缺少某些其他包,gdk-pixbuf-2.0
和 pkg-config
需要将错误报告给 configure
,但在列出所有包时不会向您报告。
【讨论】:
顺便说一句,这类事情的一个重要信息来源是 Linux From Scratch Book。 尽管这个答案不是确切的解决方案,但我标记了它,因为你在我的主要帖子上的 cmets 中为我指出了正确的方向。正确设置环境变量并知道何时使用 sudo 是关键。我终于让一切正常工作并将其保存在这个要点中:gist.github.com/whyvez/1e0212a35da97aa8f1b1。这是我第一次深入接触 c/native 世界,现在它让我很好奇。写完这篇文章后,我开始阅读您推荐的“Linux From Scratch”一书。以上是关于找不到包“gdk-pixbuf-2.0”的主要内容,如果未能解决你的问题,请参考以下文章
IntelliJ IDEA 编译代码报错 找不到符号 符号: 找不到符号包 包