如何禁用 Automake 文档?
How to disable Automake docs?
我正在尝试在一台非常旧的 CentOS 机器上更新 Automake。构建失败:
$ make -j 4
...
MAKEINFO doc/automake.info
/home/scripts/automake-1.15.1/lib/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:
<http://www.gnu.org/software/texinfo/>
The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:
<http://www.gnu.org/software/make/>
gmake: *** [Makefile:2518: doc/automake.info] Error 127
构建文档不是必需的。事实上,它是不需要的,因为它是另一个故障点,它在一些只有几百 MB 可用空间的设备上占用 space。
根据 configure --help
我们可以用 --disable-FEATURE
禁用它们。问题是,我不知道功能名称。我试过明显的,比如:
--disable-doc
--disable-docs
--disable-texi
--disable-texinfo
--disable-DOCDIR
--disable-automake.info
如何在配置期间禁用文档?
这里是Automake 1.15.1的配置信息:
$ ./configure --help
`configure' configures GNU Automake 1.15.1 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/automake]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
Some influential environment variables:
AM_TEST_RUNNER_SHELL
a sturdy POSIX shell for our testsuite
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
FC Fortran compiler command
FCFLAGS Fortran compiler flags
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
GNU_CC GNU C compiler
GNU_CFLAGS GNU C compiler flags
GNU_CXX GNU C++ compiler
GNU_CXXFLAGS
GNU C++ compiler flags
GNU_FC GNU Fortran compiler
GNU_FCFLAGS GNU Fortran compiler flags
GNU_F77 GNU Fortran 77 compiler
GNU_FFLAGS GNU Fortran 77 compiler flags
GNU_GCJ GNU Java compiler
GNU_GCJFLAGS
GNU Java compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <http://www.gnu.org/software/automake/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
最简单的方法似乎是在 makefile 中设置 MAKEINFO = true
:
$ cat automake-1.15.1/Makefile | grep '^MAKEINFO ='
MAKEINFO = ${SHELL} /home/scripts/automake-1.15.1/lib/missing makeinfo
配置后类似如下:
./configure --prefix="$INSTALL_PREFIX" --libdir="$INSTALL_LIBDIR"
sed -e 's|^MAKEINFO =*|MAKEINFO = true|g' Makefile > Makefile.fixed
mv Makefile.fixed Makefile
您可以通过将 makeinfo
设置为无操作来以非侵入方式阻止构建。到目前为止,我发现的最简单的方法是在构建之前将本地 makeinfo
符号链接到 true
,以便 configure
和 make
找到它。 IE。你可以这样做:
ln -s /usr/bin/true makeinfo
export PATH=${PWD}:${PATH}
当我 运行 make 传递参数 MAKEINFO
而不是编辑文件
make MAKEINFO=true
乍一看这可能不是很明显。
它覆盖了 GNU make 预定义的 MAKEINFO 变量,它通常指向要调用的程序以便调用 makeinfo。因此,通过将其设置为 true
,您可以有效地将对 makeinfo
的调用替换为对 /bin/true
的调用。这会将 makeinfo
任务更改为始终成功的 no-op 操作,从而使整个构建成功,而不是在出现 makeinfo
错误时停止。
你可以更改“缺失”文件,直接退出0
我正在尝试在一台非常旧的 CentOS 机器上更新 Automake。构建失败:
$ make -j 4
...
MAKEINFO doc/automake.info
/home/scripts/automake-1.15.1/lib/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:
<http://www.gnu.org/software/texinfo/>
The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:
<http://www.gnu.org/software/make/>
gmake: *** [Makefile:2518: doc/automake.info] Error 127
构建文档不是必需的。事实上,它是不需要的,因为它是另一个故障点,它在一些只有几百 MB 可用空间的设备上占用 space。
根据 configure --help
我们可以用 --disable-FEATURE
禁用它们。问题是,我不知道功能名称。我试过明显的,比如:
--disable-doc
--disable-docs
--disable-texi
--disable-texinfo
--disable-DOCDIR
--disable-automake.info
如何在配置期间禁用文档?
这里是Automake 1.15.1的配置信息:
$ ./configure --help
`configure' configures GNU Automake 1.15.1 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/automake]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-silent-rules less verbose build output (undo: "make V=1")
--disable-silent-rules verbose build output (undo: "make V=0")
Some influential environment variables:
AM_TEST_RUNNER_SHELL
a sturdy POSIX shell for our testsuite
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
FC Fortran compiler command
FCFLAGS Fortran compiler flags
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
GNU_CC GNU C compiler
GNU_CFLAGS GNU C compiler flags
GNU_CXX GNU C++ compiler
GNU_CXXFLAGS
GNU C++ compiler flags
GNU_FC GNU Fortran compiler
GNU_FCFLAGS GNU Fortran compiler flags
GNU_F77 GNU Fortran 77 compiler
GNU_FFLAGS GNU Fortran 77 compiler flags
GNU_GCJ GNU Java compiler
GNU_GCJFLAGS
GNU Java compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <bug-automake@gnu.org>.
GNU Automake home page: <http://www.gnu.org/software/automake/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
最简单的方法似乎是在 makefile 中设置 MAKEINFO = true
:
$ cat automake-1.15.1/Makefile | grep '^MAKEINFO ='
MAKEINFO = ${SHELL} /home/scripts/automake-1.15.1/lib/missing makeinfo
配置后类似如下:
./configure --prefix="$INSTALL_PREFIX" --libdir="$INSTALL_LIBDIR"
sed -e 's|^MAKEINFO =*|MAKEINFO = true|g' Makefile > Makefile.fixed
mv Makefile.fixed Makefile
您可以通过将 makeinfo
设置为无操作来以非侵入方式阻止构建。到目前为止,我发现的最简单的方法是在构建之前将本地 makeinfo
符号链接到 true
,以便 configure
和 make
找到它。 IE。你可以这样做:
ln -s /usr/bin/true makeinfo
export PATH=${PWD}:${PATH}
当我 运行 make 传递参数 MAKEINFO
而不是编辑文件make MAKEINFO=true
乍一看这可能不是很明显。
它覆盖了 GNU make 预定义的 MAKEINFO 变量,它通常指向要调用的程序以便调用 makeinfo。因此,通过将其设置为 true
,您可以有效地将对 makeinfo
的调用替换为对 /bin/true
的调用。这会将 makeinfo
任务更改为始终成功的 no-op 操作,从而使整个构建成功,而不是在出现 makeinfo
错误时停止。
你可以更改“缺失”文件,直接退出0