找不到第三方aclocal目录中的M4宏

时间:2016-06-25 18:56:44

标签: c++ build gtk autotools automake

我在一个我没有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?

1 个答案:

答案 0 :(得分:0)

您需要确保安装了 pkg-config-devel 或类似名称的包。如果没有这个,aclocal就无法找到PKG_CHECK_MODULES调用./configure所需的 pkg-config

您尝试构建的软件可能pkg.m4等子目录中有m4/个文件,但如果配置不正确,可能不会实际上请注意,如果有这样的目录,请尝试使用autoreconf -fis -I m4