我在一个我没有root权限的系统上本地安装了automake
(1.15)的更新版本。本地目录的bin文件夹是我PATH
中的第一个目录。
我还在本地安装了gtk+-2.0
,现在我想构建并安装一个需要gtk
作为依赖项的应用程序,即我所需应用程序的configure.ac
脚本包含:< / p>
PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0])
为确保找到m4宏,我将.m4
中的gtk_install_dir/share/aclocal
文件复制到aclocal --print
指定的位置(automake_install_dir/share/aclocal/
)。
我还设置了PKG_CONFIG_PATH=gtk_install_dir/lib/pkgconfig
。
然而,当我跑步时:
$ libtoolize
$ aclocal
$ autoconf
$ automake
$ ./configure
我收到错误消息:
./configure: line 13106: syntax error near unexpected token `GTK,'
./configure: line 13106: `PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.0)'
运行aclocal --verbose
我可以清楚地看到没有提到gtk,所以显然没有找到gtk +宏。
之前我没有使用过这些构建工具,我错过了什么?我似乎无法让configure脚本识别出已经安装了gtk!
非常感谢任何建议,谢谢。
编辑:我可以确认pkg-config
知道我的gtk安装位置:
$ pkg-config --print-variables gtk+-2.0
exec_prefix
gtk_binary_version
...
同样由pkg-config --debug gtk+-2.0
确认。如果pkg-config
知道包的全部内容,为什么不使用autotools?
答案 0 :(得分:0)
您需要确保安装了 pkg-config-devel 或类似名称的包。如果没有这个,aclocal就无法找到PKG_CHECK_MODULES
调用./configure
所需的宏 pkg-config
。
您尝试构建的软件可能在pkg.m4
等子目录中有m4/
个文件,但如果配置不正确,可能不会实际上请注意,如果有这样的目录,请尝试使用autoreconf -fis -I m4
。