.configure 自动安装的原理

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。

-----
1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。

2、make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

3、make insatll,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

-----
Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。使用上述三个自动工具,就可以生成configure脚本。运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。

configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。

这时,就可运行configure脚本了,运行configure脚本,就可产生出符合GNU规范的Makefile文件了:
$ ./configure

到此时,就可以运行make进行编译,在运行make install进行安装了,最后运行make clean删除临时文件。
$ make
$ make install           (注:运行这个要有足够的权限)
$ make clean

利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:

make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。

make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。

make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。

make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。

make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。

make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境-的人去重新编译。

转自 http://www.linuxidc.com/Linux/2011-02/32211.htm


'configure'脚本有大量的命令行选项。对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。带上'--help'选项执行'configure'脚本可以看到可用的所有选项。尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的。下面对每一个选项进行简略的介绍:

--cache-file=FILE

'configure'会在你的系统上测试存在的特性(或者bug!)。为了加速随后进行的配置,测试的结果会存储在一个cache file里。当configure一个每个子树里都有'configure'脚本的复杂的源码树时,一个很好的cache file的存在会有很大帮助。

--help

输出帮助信息。即使是有经验的用户也偶尔需要使用使用'--help'选项,因为一个复杂的项目会包含附加的选项。例如,GCC包里的'configure'脚本就包含了允许你控制是否生成和在GCC中使用GNU汇编器的选项。


--no-create


'configure'中的一个主要函数会制作输出文件。此选项阻止'configure'生成这个文件。你可以认为这是一种演习(dry run),尽管缓存(cache)仍然被改写了。


--quiet

--silent


当'configure'进行他的测试时,会输出简要的信息来告诉用户正在作什么。这样作是因为'configure'可能会比较慢,没有这种输出的话用户将会被扔在一旁疑惑正在发生什么,使用这两个选项中的任何一个都会把你扔到一旁。(译注:这两句话比较有意思,原文是这样的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)


--version


打印用来产生'configure'脚本的Autoconf的版本号。


--prefix=PEWFIX


'--prefix'是最常用的选项。制作出的'Makefile'会查看随此选项传递的参数,当一个包在安装时可以彻底的重新安置他的结构独立部分。举一个例子,当安装一个包,例如说Emacs,下面的命令将会使Emacs Lisp file被安装到"/opt/gnu/share":

$ ./configure --prefix=/opt/gnu


--exec-prefix=EPREFIX


与'--prefix'选项类似,但是他是用来设置结构倚赖的文件的安装位置,编译好的'emacs'二进制文件就是这样一个问件。如果没有设置这个选项的话,默认使用的选项值将被设为和'--prefix'选项值一样。


--bindir=DIR


指定二进制文件的安装位置,这里的二进制文件定义为可以被用户直接执行的程序。


--sbindir=DIR


指定超级二进制文件的安装位置。这是一些通常只能由超级用户执行的程序。


--libexecdir=DIR


指定可执行支持文件的安装位置。与二进制文件相反,这些文件从来不直接由用户执行,但是可以被上面提到的二进制文件所执行。


--datadir=DIR


指定通用数据文件的安装位置。


--sysconfdir=DIR


指定在单个机器上使用的只读数据的安装位置。


--sharedstatedir=DIR

指定可以在多个机器上共享的可写数据的安装位置。


--localstatedir=DIR

指定只能单机使用的可写数据的安装位置。

--libdir=DIR

指定库文件的安装位置。


--includedir=DIR

指定C头文件的安装位置。其他语言如C++的头文件也可以使用此选项。


--oldincludedir=DIR

指定为除GCC外编译器安装的C头文件的安装位置。


--infodir=DIR

指定Info格式文档的安装位置.Info是被GNU工程所使用的文档格式。


--mandir=DIR

指定手册页的安装位置。


--srcdir=DIR

这个选项对安装没有作用,他会告诉'configure'源码的位置。一般来说不用指定此选项,因为'configure'脚本一般和源码文件在同一个目录下。


--program-prefix=PREFIX

指定将被加到所安装程序的名字上的前缀。例如,使用'--program-prefix=g'来configure一个名为'tar'的程序将会使安装的程序被命名为'gtar'。当和其他的安装选项一起使用时,这个选项只有当他被`Makefile.in'文件使用时才会工作。


--program-suffix=SUFFIX

指定将被加到所安装程序的名字上的后缀。


--program-transform-name=PROGRAM

这里的PROGRAM是一个sed脚本。当一个程序被安装时,他的名字将经过`sed -e PROGRAM'来产生安装的名字。


--build=BUILD

指定软件包安装的系统平台。如果没有指定,默认值将是'--host'选项的值。


--host=HOST

指定软件运行的系统平台。如果没有指定。将会运行`config.guess'来检测。


--target=GARGET

指定软件面向(target to)的系统平台。这主要在程序语言工具如编译器和汇编器上下文中起作用。如果没有指定,默认将使用'--host'选项的值。


--disable-FEATURE

一些软件包可以选择这个选项来提供为大型选项的编译时配置,例如使用Kerberos认证系统或者一个实验性的编译器最优配置。如果默认是提供这些特性,可以使用'--disable-FEATURE'来禁用它,这里'FEATURE'是特性的名字,例如:

$ ./configure --disable-gui


-enable-FEATURE[=ARG]

相反的,一些软件包可能提供了一些默认被禁止的特性,可以使用'--enable-FEATURE'来起用它。这里'FEATURE'是特性的名字。一个特性可能会接受一个可选的参数。例如:

$ ./configure --enable-buffers=128

`--enable-FEATURE=no'与上面提到的'--disable-FEATURE'是同义的。


--with-PACKAGE[=ARG]

在自由软件社区里,有使用已有软件包和库的优秀传统。当用'configure'来配置一个源码树时,可以提供其他已经安装的软件包的信息。例如,倚赖于Tcl和Tk的BLT器件工具包。要配置BLT,可能需要给'configure'提供一些关于我们把Tcl和Tk装的何处的信息:

$ ./configure --with-tcl=/usr/local --with-tk=/usr/local

'--with-PACKAGE=no'与下面将提到的'--without-PACKAGE'是同义的。


--without-PACKAGE

有时候你可能不想让你的软件包与系统已有的软件包交互。例如,你可能不想让你的新编译器使用GNU ld。通过使用这个选项可以做到这一点:

$ ./configure --without-gnu-ld


--x-includes=DIR

这个选项是'--with-PACKAGE'选项的一个特例。在Autoconf最初被开发出来时,流行使用'configure'来作为Imake的一个变通方法来制作运行于X的软件。'--x-includes'选项提供了向'configure'脚本指明包含X11头文件的目录的方法。


--x-libraries=DIR

类似的,'--x-libraries'选项提供了向'configure'脚本指明包含X11库的目录的方法。


在源码树中运行'configure'是不必要的同时也是不好的。一个由'configure'产生的良好的'Makefile'可以构筑源码属于另一棵树的软件包。在一个独立于源码的树中构筑派生的文件的好处是很明显的:派生的文件,如目标文件,会凌乱的散布于源码树。这也使在另一个不同的系统或用不同的配置选项构筑同样的目标文件非常困难。建议使用三棵树:一棵源码树(source tree),一棵构筑树(build tree),一棵安装树(install tree)。这里有一个很接近的例子,是使用这种方法来构筑GNU malloc包:

$ gtar zxf mmalloc-1.0.tar.gz

$ mkdir build && cd build

$ ../mmalloc-1.0/configure

creating cache ./config.cache

checking for gcc... gcc

checking whether the C compiler (gcc ) works... yes

checking whether the C compiler (gcc ) is a cross-compiler... no

checking whether we are using GNU C... yes

checking whether gcc accepts -g... yes

checking for a BSD compatible install... /usr/bin/install -c

checking host system type... i586-pc-linux-gnu

checking build system type... i586-pc-linux-gnu

checking for ar... ar

checking for ranlib... ranlib

checking how to run the C preprocessor... gcc -E

checking for unistd.h... yes

checking for getpagesize... yes

checking for working mmap... yes

checking for limits.h... yes

checking for stddef.h... yes

updating cache ../config.cache

creating ./config.status

这样这棵构筑树就被配置了,下面可以继续构筑和安装这个包到默认的位置'/usr/local':

$ make all && make install



user@debian:~/ModSecurity$ git fetch --tags origin remote: Enumerating objects: 35757, done. remote: Counting objects: 100% (35757/35757), done. remote: Compressing objects: 100% (8282/8282), done. remote: Total 35008 (delta 26724), reused 34519 (delta 26239), pack-reused 0 (from 0) 接收对象中: 100% (35008/35008), 48.78 MiB | 2.72 MiB/s, 完成. 处理 delta 中: 100% (26724/26724), 完成 322 个本地对象. 来自 https://github.com/SpiderLabs/ModSecurity * [新标签] v2.1.0 -> v2.1.0 * [新标签] v2.1.0-rc7 -> v2.1.0-rc7 * [新标签] v2.1.1 -> v2.1.1 * [新标签] v2.1.1-dev2 -> v2.1.1-dev2 * [新标签] v2.1.1-dev3 -> v2.1.1-dev3 * [新标签] v2.1.1-dev4 -> v2.1.1-dev4 * [新标签] v2.1.1-rc1 -> v2.1.1-rc1 * [新标签] v2.1.1-rc2 -> v2.1.1-rc2 * [新标签] v2.1.2 -> v2.1.2 * [新标签] v2.1.2-rc1 -> v2.1.2-rc1 * [新标签] v2.1.2-rc2 -> v2.1.2-rc2 * [新标签] v2.1.2-rc3 -> v2.1.2-rc3 * [新标签] v2.1.3 -> v2.1.3 * [新标签] v2.1.3-rc1 -> v2.1.3-rc1 * [新标签] v2.1.3-rc2 -> v2.1.3-rc2 * [新标签] v2.1.4 -> v2.1.4 * [新标签] v2.1.4-rc1 -> v2.1.4-rc1 * [新标签] v2.1.4-rc2 -> v2.1.4-rc2 * [新标签] v2.1.4-rc3 -> v2.1.4-rc3 * [新标签] v2.1.4-rc4 -> v2.1.4-rc4 * [新标签] v2.1.5 -> v2.1.5 * [新标签] v2.1.5-rc1 -> v2.1.5-rc1 * [新标签] v2.1.6 -> v2.1.6 * [新标签] v2.1.6-rc1 -> v2.1.6-rc1 * [新标签] v2.1.7 -> v2.1.7 * [新标签] v2.2.0-dev1 -> v2.2.0-dev1 * [新标签] v2.5.0 -> v2.5.0 * [新标签] v2.5.0-dev2 -> v2.5.0-dev2 * [新标签] v2.5.0-rc1 -> v2.5.0-rc1 * [新标签] v2.5.0-rc2 -> v2.5.0-rc2 * [新标签] v2.5.0-rc3 -> v2.5.0-rc3 * [新标签] v2.5.0-rc3-pre2 -> v2.5.0-rc3-pre2 * [新标签] v2.5.0-rc4 -> v2.5.0-rc4 * [新标签] v2.5.1 -> v2.5.1 * [新标签] v2.5.1-rc1 -> v2.5.1-rc1 * [新标签] v2.5.10 -> v2.5.10 * [新标签] v2.5.10-dev1 -> v2.5.10-dev1 * [新标签] v2.5.10-dev2 -> v2.5.10-dev2 * [新标签] v2.5.10-dev3 -> v2.5.10-dev3 * [新标签] v2.5.11 -> v2.5.11 * [新标签] v2.5.12 -> v2.5.12 * [新标签] v2.5.13 -> v2.5.13 * [新标签] v2.5.2 -> v2.5.2 * [新标签] v2.5.3 -> v2.5.3 * [新标签] v2.5.4 -> v2.5.4 * [新标签] v2.5.5 -> v2.5.5 * [新标签] v2.5.6 -> v2.5.6 * [新标签] v2.5.7 -> v2.5.7 * [新标签] v2.5.7-rc1 -> v2.5.7-rc1 * [新标签] v2.5.8 -> v2.5.8 * [新标签] v2.5.9 -> v2.5.9 * [新标签] v2.6.0 -> v2.6.0 * [新标签] v2.6.0-rc1 -> v2.6.0-rc1 * [新标签] v2.6.0-rc2 -> v2.6.0-rc2 * [新标签] v2.6.1 -> v2.6.1 * [新标签] v2.6.2 -> v2.6.2 * [新标签] v2.6.2-rc1 -> v2.6.2-rc1 * [新标签] v2.6.3 -> v2.6.3 * [新标签] v2.6.3-rc1 -> v2.6.3-rc1 * [新标签] v2.6.4 -> v2.6.4 * [新标签] v2.6.4-rc1 -> v2.6.4-rc1 * [新标签] v2.6.5 -> v2.6.5 * [新标签] v2.6.6 -> v2.6.6 * [新标签] v2.6.7 -> v2.6.7 * [新标签] v2.6.8 -> v2.6.8 * [新标签] v2.7.0 -> v2.7.0 * [新标签] v2.7.0-rc1 -> v2.7.0-rc1 * [新标签] v2.7.0-rc3 -> v2.7.0-rc3 * [新标签] v2.7.1 -> v2.7.1 * [新标签] v2.7.2 -> v2.7.2 * [新标签] v2.7.3 -> v2.7.3 * [新标签] v2.7.4 -> v2.7.4 * [新标签] v2.7.5 -> v2.7.5 * [新标签] v2.7.6 -> v2.7.6 * [新标签] v2.7.7 -> v2.7.7 * [新标签] v2.8.0 -> v2.8.0 * [新标签] v2.8.0-rc1 -> v2.8.0-rc1 * [新标签] v2.9.0 -> v2.9.0 * [新标签] v2.9.0-rc1 -> v2.9.0-rc1 * [新标签] v2.9.0-rc2 -> v2.9.0-rc2 * [新标签] v2.9.1 -> v2.9.1 * [新标签] v2.9.1-rc1 -> v2.9.1-rc1 * [新标签] v2.9.10 -> v2.9.10 * [新标签] v2.9.2 -> v2.9.2 * [新标签] v2.9.3 -> v2.9.3 * [新标签] v2.9.4 -> v2.9.4 * [新标签] v2.9.5 -> v2.9.5 * [新标签] v2.9.6 -> v2.9.6 * [新标签] v2.9.7 -> v2.9.7 * [新标签] v2.9.8 -> v2.9.8 * [新标签] v2.9.9 -> v2.9.9 * [新标签] v3.0.0 -> v3.0.0 * [新标签] v3.0.0-rc1 -> v3.0.0-rc1 * [新标签] v3.0.1 -> v3.0.1 * [新标签] v3.0.10 -> v3.0.10 * [新标签] v3.0.11 -> v3.0.11 * [新标签] v3.0.12 -> v3.0.12 * [新标签] v3.0.13 -> v3.0.13 * [新标签] v3.0.14 -> v3.0.14 * [新标签] v3.0.2 -> v3.0.2 * [新标签] v3.0.3 -> v3.0.3 * [新标签] v3.0.4 -> v3.0.4 * [新标签] v3.0.5 -> v3.0.5 * [新标签] v3.0.6 -> v3.0.6 * [新标签] v3.0.7 -> v3.0.7 * [新标签] v3.0.8 -> v3.0.8 * [新标签] v3.0.9 -> v3.0.9 user@debian:~/ModSecurity$ git checkout v3.0.8 注意:正在切换到 'v3.0.8'。 您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换 回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。 如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令 中添加参数 -c 来实现(现在或稍后)。例如: git switch -c <新分支名> 或者撤销此操作: git switch - 通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议 HEAD 目前位于 996c7e1e Change release version to v3.0.8 user@debian:~/ModSecurity$ ./build.sh libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build'. libtoolize: copying file 'build/libtool.m4' libtoolize: copying file 'build/ltoptions.m4' libtoolize: copying file 'build/ltsugar.m4' libtoolize: copying file 'build/ltversion.m4' libtoolize: copying file 'build/lt~obsolete.m4' configure.ac:84: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:84: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/yajl.m4:4: PROG_YAJL is expanded from... configure.ac:84: the top level configure.ac:98: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:98: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lmdb.m4:4: PROG_LMDB is expanded from... configure.ac:98: the top level configure.ac:102: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:102: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/ssdeep.m4:5: CHECK_SSDEEP is expanded from... configure.ac:102: the top level configure.ac:106: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:106: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... build/lua.m4:121: CHECK_FOR_LUA_AT is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:113: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:113: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/curl.m4:15: CHECK_CURL is expanded from... configure.ac:113: the top level configure.ac:123: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:123: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/libxml.m4:14: CHECK_LIBXML2 is expanded from... configure.ac:123: the top level configure.ac:129: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:129: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:135: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:135: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/pcre2.m4:4: PROG_PCRE2 is expanded from... configure.ac:135: the top level configure.ac:140: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:140: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:140: the top level configure.ac:231: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:231: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:231: the top level configure.ac:249: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:249: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:249: the top level configure.ac:262: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:262: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:262: the top level configure.ac:275: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:275: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:275: the top level configure.ac:288: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:288: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:288: the top level configure.ac:307: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete ./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from... ./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from... configure.ac:307: the top level configure.ac:50: installing './compile' configure.ac:45: installing './missing' examples/multiprocess_c/Makefile.am: installing './depcomp' configure.ac:84: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:84: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/yajl.m4:4: PROG_YAJL is expanded from... configure.ac:84: the top level configure.ac:98: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:98: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lmdb.m4:4: PROG_LMDB is expanded from... configure.ac:98: the top level configure.ac:102: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:102: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/ssdeep.m4:5: CHECK_SSDEEP is expanded from... configure.ac:102: the top level configure.ac:106: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:106: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:106: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... build/lua.m4:121: CHECK_FOR_LUA_AT is expanded from... build/lua.m4:5: CHECK_LUA is expanded from... configure.ac:106: the top level configure.ac:113: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:113: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/curl.m4:15: CHECK_CURL is expanded from... configure.ac:113: the top level configure.ac:123: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:123: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/libxml.m4:14: CHECK_LIBXML2 is expanded from... configure.ac:123: the top level configure.ac:129: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:129: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:129: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... build/pcre.m4:15: CHECK_PCRE is expanded from... configure.ac:129: the top level configure.ac:135: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:135: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... build/pcre2.m4:4: PROG_PCRE2 is expanded from... configure.ac:135: the top level configure.ac:140: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:140: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:140: the top level configure.ac:231: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:231: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:231: the top level configure.ac:249: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:249: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:249: the top level configure.ac:262: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:262: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:262: the top level configure.ac:275: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:275: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:275: the top level configure.ac:288: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:288: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... ./lib/autoconf/general.m4:1534: AC_ARG_ENABLE is expanded from... configure.ac:288: the top level configure.ac:307: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete ./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from... ./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from... configure.ac:307: the top level user@debian:~/ModSecurity$
最新发布
06-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值