我正在尝试从 git 编译 file-roller,但运行 autogen.sh 时出现此错误
configure: error: Package requirements (gtk+-3.0 >= 2.91.1) were not met:
No package 'gtk+-3.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
我正在运行 Ubuntu Maverick,并且不想完全替换我当前版本的 gtk、glib 等。
我曾尝试使用 autogen.sh 的 --prefix 参数编译 GTK,但这给了我与我的 glib 版本类似的错误。
如何使用这些新库成功编译 file-roller,而不会破坏我的安装?
答案1
通常你有两种选择:
告诉每个需要的新软件包
gtk
,在配置时在哪里寻找正确的库,或者在系统位置并排安装新的 GTK
LD_LIBRARY_PATH
。
如果您只想构建(包括编译)一些依赖于新 Gtk 的程序,则第一个选项简单且安全。根据软件使用的配置工具,有多种方法可以将软件指向特定的库位置。对于使用configure
脚本的经典应用程序,您需要使用 查看配置阶段选项./configure --help
。查找类似--gtk-lib=PATH
或 的内容--with-gtk-path=PATH
。该--with
部分(许多选项所共有)通常只会在帮助的开头提及一次。
但是,您提到的 File-roller 似乎正在使用autogen
程序进行自动配置过程。您粘贴的代码片段表明,环境变量您需要设置以指向特定的 GTK+ 路径。看起来运行GTK_LIBS=/full/path/to/your/custom/lib ./autogen.sh
就足够了。
系统范围的情况有点棘手,因为每个 Linux 发行版都可以用不同的方式管理库路径,所以我无法给你一个通用的解决方案。