linux – ubuntu 11.04上的autoconf错误

我一直在谷歌搜索和安装库一段时间,但我无法用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.

所以我继续,下载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

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

解决方法

给定名称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中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户