我正在尝试将项目迁移到autotools,因此无法集成我们使用的第三方库。一些工作基本方式:(以下是在我的configure.ac中)
AC_CONFIG_SUBDIRS([thirdparty/sqlite])
AC_CONFIG_SUBDIRS([thirdparty/protobuf])
但是readline没有:
AC_CONFIG_SUBDIRS([thirdparty/readline])
当我尝试autoreconf时,我收到此错误:
brett@Brett-Thinkpad:~/auto3$ autoreconf
autoheader: warning: missing template: CTYPE_NON_ASCII
autoheader: Use AC_DEFINE([CTYPE_NON_ASCII], [], [Description])
autoheader: warning: missing template: FIONREAD_IN_SYS_IOCTL
autoheader: warning: missing template: HAVE_BSD_SIGNALS
autoheader: warning: missing template: HAVE_GETPW_DECLS
autoheader: warning: missing template: HAVE_LANGINFO_CODESET
autoheader: warning: missing template: HAVE_MBRLEN
autoheader: warning: missing template: HAVE_MBSCMP
autoheader: warning: missing template: HAVE_MBSNRTOWCS
autoheader: warning: missing template: HAVE_MBSRTOWCS
autoheader: warning: missing template: HAVE_MBSTATE_T
autoheader: warning: missing template: HAVE_POSIX_SIGNALS
autoheader: warning: missing template: HAVE_POSIX_SIGSETJMP
autoheader: warning: missing template: HAVE_STRUCT_DIRENT_D_FILENO
autoheader: warning: missing template: HAVE_STRUCT_DIRENT_D_INO
autoheader: warning: missing template: HAVE_USG_SIGHOLD
autoheader: warning: missing template: HAVE_WCRTOMB
autoheader: warning: missing template: HAVE_WCSCOLL
autoheader: warning: missing template: HAVE_WCSDUP
autoheader: warning: missing template: HAVE_WCTYPE
autoheader: warning: missing template: HAVE_WCWIDTH
autoheader: warning: missing template: MUST_REINSTALL_SIGHANDLERS
autoheader: warning: missing template: NO_MULTIBYTE_SUPPORT
autoheader: warning: missing template: SPEED_T_IN_SYS_TYPES
autoheader: warning: missing template: STRCOLL_BROKEN
autoheader: warning: missing template: STRUCT_WINSIZE_IN_SYS_IOCTL
autoheader: warning: missing template: STRUCT_WINSIZE_IN_TERMIOS
autoheader: warning: missing template: TIOCSTAT_IN_SYS_IOCTL
autoheader: warning: missing template: VOID_SIGHANDLER
autoreconf: /usr/bin/autoheader failed with exit status: 1
Readline源出现的组织方式与SQLite和Protobuf相同 - ./configure&&制造&& make install对所有三个都是一样的。 readline有什么不同? (我使用的是Readline版本6.2)
(对不起,如果这是基本的......我刚刚开始使用Autotools)
答案 0 :(得分:1)
我不熟悉readline源代码,但我猜你或者readline都使用过时的autotools版本。这不会阻止./configure && make && make install
工作,因为当您下载tarball时,您将获得不兼容版本的autotools已生成的configure
和Makefile
。但它确实意味着您无法使用您的autotools版本生成新的。
您可以通过执行错误消息告诉您的操作来修复它:添加一大堆像
这样的行AC_DEFINE([CTYPE_NON_ASCII], [], [Description])
到thirdparty/readline/configure.ac
。如果问题出现,请升级到最新的autotools。
有关更具体和有效的建议,请在问题中包含违规configure.ac
,并告诉我们您正在使用的自动工具的版本。