ubuntu 11.04上的autoconf错误

fiz*_*boz 6 linux gtk automake autoconf compilation

我一直在谷歌搜索和安装库一段时间,但我无法用autoconf解决这个问题.

我已下载了一个我想编译的程序,做了一些更改,需要分别运行autogen.sh和./configure并make install.

但是,当我尝试运行autogen.sh时,我收到以下错误;

configure.ac:225: error: possibly undefined macro: AM_PATH_GTK_2_0
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
Run Code Online (Sandbox Code Playgroud)

所以我继续,下载autoconf-2.68,automake-1.11,m4-1.4.16,并尝试了sudo apt-get install libgtk2.0-dev,其中没有一个改变了结果.当我尝试aclocal,我再次得到错误

configure.ac:225: warning: macro `AM_PATH_GTK_2_0' not found in library
Run Code Online (Sandbox Code Playgroud)

我现在卡住了,无处可去.所以我很高兴有任何建议.

Add*_*ery 11

我知道有点晚了,但你只需要安装库libgtk2.0-dev:

sudo apt-get install libgtk2.0-dev
Run Code Online (Sandbox Code Playgroud)

如果您收到与GLIB相关的错误,请安装libglib2.0-dev:

sudo apt-get install libglib2.0-dev
Run Code Online (Sandbox Code Playgroud)


Wil*_*ell 5

给定名称AM_PATH_GTK_2_0,可以进行以下观察序列:1)"AM_"在automake的命名空间中,因此m4宏必须来自automake.2)嗯,它不是在automake中.3)它可能来自gtk,所以gtk开发人员在命名他们的m4宏与automake冲突时犯了一个错误.这是gtk中的一个错误,但我可能需要下载最新版本的gtk来获取宏.

问题是你没有gtk期望你拥有的m4宏.您可能需要安装libgtk-devel(或类似的东西).如果我是正确的并且libgtk确实正在安装名为AM _...的m4宏,请向开发人员报告这是一个错误.他们正在踩着automakes的命名空间(不幸的是,这是一个非常常见的错误.)

既然你提到下载automake,我认为问题是你运行的aclocal没有查看/ usr/share/aclocal,而是在不同的位置(即你在/ usr/local中安装了automake)当你安装了libgtk- dev,它可能在/ usr/share/aclocal中安装了*.m4文件,但是你需要在/ usr/local/share/aclocal(或$ prefix/share/aclocal中的那个文件,其中前缀是你用来安装automake的那个.)最简单的解决方案是将该文件复制到$(aclocal --print)即运行"aclocal --print"以查看aclocal在哪里查找m4文件,然后找到libgtk-dev安装的文件,定义了不正确地命名m4宏并将该文件复制到适当的位置.或者(也许是一个更好的解决方案)你可以把一个名为dirlist的文件放在$(aclocal --print)中,其中包含单行"/ usr/share/aclocal",这样你手上安装的aclocal总会查找m4文件安装在/ usr/share中.