我为项目设置了autools:https://github.com/pmatos/OpenSMT2
Makefile.am:
没有什么特别之处ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = subdir-objects
SUBDIRS = src
bin_PROGRAMS = opensmt
noinst_PROGRAMS = testsimplify testegraph1 testegraph3 testegraph4 testegraph5 gctest
opensmt_SOURCES = src/bin/opensmt.C
opensmt_LDFLAGS =
# -lgmpxx -lgmp
testsimplify_SOURCES = src/logics/TestSimplify.C
testegraph1_SOURCES = src/egraph/test.C
testegraph3_SOURCES = src/egraph/test3.C
testegraph4_SOURCES = src/egraph/test4.C
testegraph5_SOURCES = src/egraph/test5.C
gctest_SOURCES = src/egraph/GCTest.C GCTest.h
LDADD = src/libopensmt.la -lgmpxx -lgmp
或configure.ac:
AC_PREREQ(2.69)
AC_INIT([OpenSMT 2.0.svnversion], [(unstable)], [antti.hyvarinen@gmail.com])
config_flags="$*"
AC_DEFINE_UNQUOTED([CONFIG_FLAGS], ["$config_flags"], [Flags passed to configure])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE
AC_DISABLE_SHARED
AC_PROG_LIBTOOL
AC_PROG_CC
AC_PROG_CXX
AC_PROG_YACC
AM_PROG_LEX
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
LT_INIT
AC_ARG_ENABLE(library,
AC_HELP_STRING([--enable-library],
[produces OpenSMT libraries (default=no)]),
want_library="yes",
want_library="no")
AM_CONDITIONAL([WANT_LIBRARY], [test "$want_library" = "yes"])
#
# Statically linked version
#
#AC_ARG_ENABLE(staticlibs,
# AC_HELP_STRING([--enable-staticlibs],
# [enable statically linked libraries (-static) @<:@yes@:>@)]),
# [:],
# [enable_staticlibs="no"])
#
#AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = "yes"])
#if test $enable_staticlibs = "yes" ; then
# config_staticlibs="-static"
#else
# config_static=""
#fi
#echo "Compile statically linked libraries... ${enable_staticlibs}"
#
#
# Profiling
#
AC_ARG_ENABLE(profiling,
AC_HELP_STRING([--enable-profiling],
[enable profiling (-pg) @<:@no@:>@]),
[:],
enable_profiling="no")
if test $enable_profiling = "yes" ;
then
config_profiling="-pg"
elif test $enable_profiling = "no" ;
then
config_profiling=""
fi
AM_CONDITIONAL([ENABLE_PROFILING], [test "$enable_profiling" = "yes"])
echo "Compile with profiling... ${enable_profiling}"
#
# Optimization
#
AC_ARG_ENABLE(optimization,
AC_HELP_STRING([--enable-optimization],
[enable optimization by compiler (-O3) @<:@yes@:>@]),
[:],
[enable_optimization="yes"])
if test $enable_optimization = "yes" ;
then
config_optimization_compiler="-O3"
config_optimization_preproc="-DOPTIMIZE -DNDEBUG"
else
config_optimization_compiler="-O0"
config_optimization_preproc=""
fi
AM_CONDITIONAL([ENABLE_OPTIMIZATION], [test "$enable_optimization" = "yes"])
echo "Setting preprocessor optimization flags to... ${config_optimization_preproc:-none}"
echo "Setting compiler optimization flags to... ${config_optimization_compiler:-none}"
#
# Proof production
#
AC_ARG_ENABLE(proof,
AC_HELP_STRING([--enable-proof],
[enable proof production @<:@no@:>@)]),
[:],
[enable_proof="no"])
if test $enable_proof = "yes" ;
then
config_proof="-DPRODUCE_PROOF"
else
config_proof=""
fi
AM_CONDITIONAL([ENABLE_PROOF], [test "$enable_proof" = "yes"])
echo "Produce proofs... ${enable_proof}"
#
# Enable Custom memory allocation for forbid lists
#
AC_ARG_ENABLE(custom_memalloc,
AC_HELP_STRING([--enable-custom_memalloc],
[enable custom memory allocation for forbid lists@<:@yes@:>@]),
[:],
[enable_custom_memalloc="yes"])
if test $enable_custom_memalloc = "yes" ;
then
config_custom_memalloc="-DCUSTOM_EL_ALLOC"
else
config_custom_memalloc=""
fi
AM_CONDITIONAL([ENABLE_CUSTOMMEMALLOC], [test "$enable_custom_memalloc" = "yes"])
echo "Use custom memory allocation for forbid lists... $enable_custom_memalloc"
#
# Enable Pedantic Assertion Checking
#
AC_ARG_ENABLE(pedantic,
AC_HELP_STRING([--enable-pedantic],
[enable pedantic assertion checking @<:@no@:>@]),
[:],
[enable_pedantic="no"])
if test $enable_pedantic = "yes" ;
then
config_pedantic_debug="-DPEDANTIC_DEBUG"
else
config_pedantic_debug=""
fi
AM_CONDITIONAL([ENABLE_PEDANTIC], [test "$enable_pedantic" = "yes"])
echo "Do pedantic assertion checks... $enable_pedantic"
#
# Enable Stupid Theory Propagation
#
AC_ARG_ENABLE(clever_theoryprop,
AC_HELP_STRING([--enable-clever_theoryprop],
[enable clever theorypropagation @<:@no@:>@]),
[:],
[enable_clever_theoryprop="no"])
if test $enable_clever_theoryprop = "no" ;
then
config_stupid_theoryprop="-DIGNORE_DL_THEORYPROPAGATION"
else
config_stupid_theoryprop=""
fi
AM_CONDITIONAL([ENABLE_STUPID_THEORYPROP], [test "$enable_clever_theoryprop" = "yes"])
echo "Propagate from theories with decision level... ${enable_clever_theoryprop}"
#
# Store explanations in terms
#
AC_ARG_ENABLE(term_explanations,
AC_HELP_STRING([--enable-term_explanations],
[store explanations in terms @<:@yes@:>@]),
[:],
[enable_term_explanations="yes"])
if test $enable_term_explanations = "yes" ;
then
config_term_explanations="-DTERMS_HAVE_EXPLANATIONS"
else
config_term_explanations=""
fi
AM_CONDITIONAL([ENABLE_TERM_EXPLANATIONS], [test "$enable_term_explanations" = "yes"])
echo "Store explanations in terms... ${enable_term_explanations}"
#
# Enable the buggy implementation of the structure sharing
#
AC_ARG_ENABLE(sharebug,
AC_HELP_STRING([--enable-sharebug],
[enable the structure sharing bug in propositional flattening @<:@no@:>@]),
[:],
[enable_sharebug="no"])
if test $enable_sharebug = "yes" ;
then
config_sharebug="-DENABLE_SHARING_BUG"
else
config_sharebug=""
fi
AM_CONDITIONAL([ENABLE_SHAREBUG], [test "$enable_sharebug" = "yes"])
echo "Enable sharing bug... ${enable_sharebug} (${config_sharebug:-none})"
AC_ARG_ENABLE(congruencesubstitution,
AC_HELP_STRING([--enable-congruencesubstitution],
[enable the top level substitutions using congruence
closure @<:@yes@:>@]),
[:],
[enable_congruencesubstitution="no"])
if test $enable_congruencesubstitution = "yes" ;
then
config_congruencesubstitution="-DENABLE_CONGRUENCESUBSTITUTION"
else
config_congruencesubstitution=""
fi
AM_CONDITIONAL([ENABLE_CONGRUENCESUBSTITUTION], [test "$enable_congruencesubstitution" = "yes"])
echo "Use congruence substitution... ${enable_congruencesubstitution}"
AC_ARG_ENABLE(oldsubstitution,
AC_HELP_STRING([--enable-oldsubstitution],
[enable old substitution @<:@yes@:>@]),
[:],
[enable_oldsubstitution="yes"])
if test $enable_oldsubstitution = "yes" ;
then
config_oldsubstitution="-DOSMT1_SUBSTITUTION"
else
config_oldsubstitution=""
fi
AM_CONDITIONAL([ENABLE_OLDSUBSTITUTION], [test "$enable_oldsubstitution" = "yes"])
echo "Use old substitution... ${enable_oldsubstitution}"
#
#
# Enable simplification debug
#
AC_ARG_ENABLE(simplification_debug,
AC_HELP_STRING([--enable-simplification_debug],
[enable simplification debug @<:@no@:>@)]),
[:],
enable_simplification_debug="no")
if test "${enable_simplification_debug}" = "yes";
then
config_simplification_debug="-DSIMPLIFY_DEBUG"
else
config_simplification_debug=""
fi
AM_CONDITIONAL([ENABLE_SIMPLIFICATION_DEBUG], [test "$enable_simplification_debug" = "yes"])
echo "Enable simplification debug... ${enable_simplification_debug}"
#
# Enable GC debug
#
AC_ARG_ENABLE(gcdebug,
AC_HELP_STRING([--enable-gcdebug],
[enable garbage collection debug @<:@no@:>@]),
[:],
[enable_gc_debug="no"])
if test $enable_gc_debug = "yes" ;
then
config_gc_debug="-DGC_DEBUG"
else
config_gc_debug=""
fi
AM_CONDITIONAL([ENABLE_GC_DEBUG], [test "$enable_gc_debug" = "yes"])
echo "Enable garbage collection debug... ${enable_gc_debug}"
#
# SMTCOMP version
#
AC_ARG_ENABLE(smtcomp,
[AC_HELP_STRING([--enable-smtcomp],
[enable smtcomp mode @<:@no@:>@])],
[:],
[enable_smtcomp="no"])
if test $enable_smtcomp = "yes" ;
then
config_smtcomp="-DSMTCOMP -march=opteron -static"
else
config_smtcomp=""
fi
echo "Compile for smtcomp... ${enable_smtcomp}"
AM_CONDITIONAL([ENABLE_SMTCOMP], [test "$enable_smtcomp" = "yes"])
# Complain if smtcomp is enabled and optimization is disabled
if test $enable_smtcomp = "yes" -a $enable_optimization = "no" ;
then
echo "Error: smtcomp requires optimizations"
exit
fi
# Complain if smtcomp is enabled and proof is enabled
if test $enable_smtcomp = "yes" -a $enable_proof = "yes" ;
then
echo "Error: cannot enable proof with smtcomp"
exit
fi
# Complain if both pedantic debug and optimization are enabled
if test $enable_pedantic = "yes" -a $enable_optimization = "yes" ;
then
echo "Error: cannot enable both pedantic debug and optimization"
exit
fi
def_flags="$config_optimization $config_pedantic_debug $config_gc_debug $config_smtcomp $config_static $config_proof $config_stupid_theoryprop $config_sharebug $config_simplification_debug $config_optimization_preproc $config_congruencesubstitution $config_oldsubstitution $config_custom_memalloc $config_term_explanations"
comp_flags="-W -Wall -g -Wno-deprecated $config_profiling $config_optimization_compiler"
def_flags=`echo ${def_flags} |sed 's/ [ ]*/ /g'`
comp_flags=`echo ${comp_flags} |sed 's/ [ ]*/ /g'`
AM_CFLAGS=""
AM_CXXFLAGS=$AM_CFLAGS
CFLAGS=""
CXXFLAGS=""
CPPFLAGS=""
# Allow user to use a GMP lib in a non-standard location
AC_ARG_WITH([gmp],
[AS_HELP_STRING([--with-gmp=prefix],
[Use this when GMP is in a non-standard location (e.g /opt/local in MacPorts)])],
[NONSTDGMPPATH=1],
[NONSTDGMPPATH=0])
if test $NONSTDGMPPATH = 1 ; then
AM_CXXFLAGS="$AM_CXXFLAGS -I$with_gmp/include"
AM_LDFLAGS="$AM_LDFLAGS -L$with_gmp/lib"
fi
# Allow user to use a GMP lib in a non-standard location
AC_ARG_WITH([readline],
[AS_HELP_STRING([--with-readline=prefix],
[Use this when readline is in a non-standard location])],
[NONSTDREADLINEPATH=1],
[NONSTDREADLINEPATH=0])
if test $NONSTDREADLINEPATH = 1 ; then
AM_CFLAGS="$AM_CFLAGS -I$with_readline/include"
AM_CXXFLAGS="$AM_CXXFLAGS -I$with_readline/include"
AM_LDFLAGS="$AM_LDFLAGS -L$with_readline/lib"
fi
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_LDFLAGS])
AC_SUBST([CFLAGS])
AC_SUBST([CXXFLAGS])
AC_SUBST([CPPFLAGS])
# Setup comilation/linking flags for library checks
OLDCPPFLAGS=$CPPFLAGS
CPPFLAGS=$CXXFLAGS
OLDLDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $AM_LDFLAGS"
CFLAGS="$CFLAGS $AM_CFLAGS"
# Check for GMP header
GMP_HEADER_FOUND=1
if test $NONSTDGMPPATH = 1 ; then
AC_CHECK_HEADERS($with_gmp/include/gmp.h,
,
[AC_MSG_ERROR([ The GMP header gmp.h was not found.])])
else
AC_CHECK_HEADERS(gmp.h,
,
[AC_MSG_ERROR([ The GMP header gmp.h was not found.])])
fi
# Check for GMP library
AC_CHECK_LIB(gmp, __gmpz_init, ,[AC_MSG_ERROR([GMP library not found])])
# Check for readline library
AX_LIB_READLINE
# Restore original flags
CPPFLAGS=$OLDCPPFLAGS
LDFLAGS=$OLDLDFLAGS
#
# List of directories to include
#
config_includedirs="-I\${top_srcdir}/src -I\${top_srcdir}/src/minisat/mtl -I\${top_srcdir}/src/minisat/core -I\${top_srcdir}/src/simplifiers -I\${top_srcdir}/src/common -I\${top_srcdir}/src/egraph -I\${top_srcdir}/src/sorts -I\${top_srcdir}/src/symbols -I\${top_srcdir}/src/pterms -I\${top_srcdir}/src/logics -I\${top_srcdir}/src/smtsolvers -I\${top_srcdir}/src/cnfizers -I\${top_srcdir}/src/proof -I\${top_srcdir}/src/api -I\${top_srcdir}/src/tsolvers -I\${top_srcdir}/src/tsolvers/emptysolver -I\${top_srcdir}/src/tsolvers/bvsolver -I\${top_srcdir}/src/tsolvers/bvsolver/minisatp -I\${top_srcdir}/src/tsolvers/lrasolver -I\${top_srcdir}/src/tsolvers/liasolver -I\${top_srcdir}/src/tsolvers/ctsolver -I\${top_srcdir}/src/tsolvers/axdiffsolver -I\${top_srcdir}/src/tsolvers/dlsolver -I\${top_srcdir}/src/attributes"
AM_CFLAGS="$AM_CFLAGS ${config_includedirs} ${def_flags} ${comp_flags}"
AM_CXXFLAGS="$AM_CXXFLAGS ${config_includedirs} ${def_flags} ${comp_flags}"
AC_SUBST(config_includedirs)
AC_CONFIG_FILES([ \
Makefile \
src/Makefile \
src/parsers/Makefile \
src/parsers/smt2new/Makefile \
src/pterms/Makefile \
src/cnfizers/Makefile \
src/simplifiers/Makefile \
src/smtsolvers/Makefile \
src/proof/Makefile \
src/common/Makefile \
src/egraph/Makefile \
src/sorts/Makefile \
src/logics/Makefile \
src/symbols/Makefile \
src/tsolvers/Makefile \
src/tsolvers/emptysolver/Makefile \
src/tsolvers/axdiffsolver/Makefile \
src/tsolvers/bvsolver/Makefile \
src/tsolvers/bvsolver/minisatp/Makefile \
src/tsolvers/lrasolver/Makefile \
src/tsolvers/ctsolver/Makefile \
src/tsolvers/dlsolver/Makefile \
src/api/Makefile \
test/Makefile \
])
AC_DEFINE_UNQUOTED([CONFIGTIME_DEFFLAGS], ["`echo ${def_flags} | sed 's/ */ /g'`]", [C define flags passed after configure])
AC_DEFINE_UNQUOTED([CONFIGTIME_COMPFLAGS], ["$comp_flags"], [C++ compiler flags of interest])
AC_OUTPUT
echo "=================================================="
echo "Configuring with C define flags"
echo " ${def_flags}" | sed 's/ */\n /g'
echo
echo "Configuring with [AM_CPPFLAGS] = $AM_CPPFLAGS"
echo "Configuring with [AM_CXXFLAGS] = $AM_CXXFLAGS"
echo "Configuring with [AM_CFLAGS] = $AM_CFLAGS"
echo "=================================================="
使用aclocal-1.14在系统中创建的makefile.in和configure脚本。当我在使用旧工具的系统中运行make时,它会尝试运行缺少的aclocal-1.14并因为它不存在而失败。以下是在TravisCI机器中运行它的示例:
Using worker: worker-linux-12-2.bb.travis-ci.org:travis-linux-7
git.1
62.45s$ git clone --depth=50 --branch=master git://github.com/pmatos/OpenSMT2.git pmatos/OpenSMT2
Cloning into 'pmatos/OpenSMT2'...
remote: Counting objects: 7133, done.
remote: Compressing objects: 100% (6754/6754), done.
remote: Total 7133 (delta 6205), reused 0 (delta 0)
Receiving objects: 100% (7133/7133), 45.95 MiB | 1.54 MiB/s, done.
Resolving deltas: 100% (6322/6322), done.
Checking connectivity... done.
Checking out files: 100% (6971/6971), done.
$ cd pmatos/OpenSMT2
git.3
$ git checkout -qf 94c525663de5e2ed6f96731c62f0ebc54e9841bb
$ export CXX=g++
$ export CC=gcc
0.02s$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
before_install.1
12.30s$ sudo apt-get update -qq
before_install.2
5.12s$ sudo apt-get install -qq libgmp-dev
Selecting previously unselected package libgmpxx4ldbl.
(Reading database ... 70559 files and directories currently installed.)
Unpacking libgmpxx4ldbl (from .../libgmpxx4ldbl_2%3a5.0.2+dfsg-2ubuntu1_amd64.deb) ...
Selecting previously unselected package libgmp-dev.
Unpacking libgmp-dev (from .../libgmp-dev_2%3a5.0.2+dfsg-2ubuntu1_amd64.deb) ...
Setting up libgmpxx4ldbl (2:5.0.2+dfsg-2ubuntu1) ...
Setting up libgmp-dev (2:5.0.2+dfsg-2ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
8.89s$ ./configure && make -j4
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1966080
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
Compile with profiling... no
Setting preprocessor optimization flags to... -DOPTIMIZE -DNDEBUG
Setting compiler optimization flags to... -O3
Produce proofs... no
Use custom memory allocation for forbid lists... yes
Do pedantic assertion checks... no
Propagate from theories with decision level... no
Store explanations in terms... yes
Enable sharing bug... no (none)
Use congruence substitution... no
Use old substitution... yes
Enable simplification debug... no
Enable garbage collection debug... no
Compile for smtcomp... no
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking for __gmpz_init in -lgmp... yes
checking for a readline compatible library... -lreadline
checking readline.h usability... no
checking readline.h presence... no
checking for readline.h... no
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking whether readline supports history... yes
checking history.h usability... no
checking history.h presence... no
checking for history.h... no
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/parsers/Makefile
config.status: creating src/parsers/smt2new/Makefile
config.status: creating src/pterms/Makefile
config.status: creating src/cnfizers/Makefile
config.status: creating src/simplifiers/Makefile
config.status: creating src/smtsolvers/Makefile
config.status: creating src/proof/Makefile
config.status: creating src/common/Makefile
config.status: creating src/egraph/Makefile
config.status: creating src/sorts/Makefile
config.status: creating src/logics/Makefile
config.status: creating src/symbols/Makefile
config.status: creating src/tsolvers/Makefile
config.status: creating src/tsolvers/emptysolver/Makefile
config.status: creating src/tsolvers/axdiffsolver/Makefile
config.status: creating src/tsolvers/bvsolver/Makefile
config.status: creating src/tsolvers/bvsolver/minisatp/Makefile
config.status: creating src/tsolvers/lrasolver/Makefile
config.status: creating src/tsolvers/ctsolver/Makefile
config.status: creating src/tsolvers/dlsolver/Makefile
config.status: creating src/api/Makefile
config.status: creating test/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
==================================================
Configuring with C define flags
-DIGNORE_DL_THEORYPROPAGATION
-DOPTIMIZE
-DNDEBUG
-DOSMT1_SUBSTITUTION
-DCUSTOM_EL_ALLOC
-DTERMS_HAVE_EXPLANATIONS
Configuring with AM_CPPFLAGS =
Configuring with AM_CXXFLAGS = -I${top_srcdir}/src -I${top_srcdir}/src/minisat/mtl -I${top_srcdir}/src/minisat/core -I${top_srcdir}/src/simplifiers -I${top_srcdir}/src/common -I${top_srcdir}/src/egraph -I${top_srcdir}/src/sorts -I${top_srcdir}/src/symbols -I${top_srcdir}/src/pterms -I${top_srcdir}/src/logics -I${top_srcdir}/src/smtsolvers -I${top_srcdir}/src/cnfizers -I${top_srcdir}/src/proof -I${top_srcdir}/src/api -I${top_srcdir}/src/tsolvers -I${top_srcdir}/src/tsolvers/emptysolver -I${top_srcdir}/src/tsolvers/bvsolver -I${top_srcdir}/src/tsolvers/bvsolver/minisatp -I${top_srcdir}/src/tsolvers/lrasolver -I${top_srcdir}/src/tsolvers/liasolver -I${top_srcdir}/src/tsolvers/ctsolver -I${top_srcdir}/src/tsolvers/axdiffsolver -I${top_srcdir}/src/tsolvers/dlsolver -I${top_srcdir}/src/attributes -DIGNORE_DL_THEORYPROPAGATION -DOPTIMIZE -DNDEBUG -DOSMT1_SUBSTITUTION -DCUSTOM_EL_ALLOC -DTERMS_HAVE_EXPLANATIONS -W -Wall -g -Wno-deprecated -O3
Configuring with AM_CFLAGS = -I${top_srcdir}/src -I${top_srcdir}/src/minisat/mtl -I${top_srcdir}/src/minisat/core -I${top_srcdir}/src/simplifiers -I${top_srcdir}/src/common -I${top_srcdir}/src/egraph -I${top_srcdir}/src/sorts -I${top_srcdir}/src/symbols -I${top_srcdir}/src/pterms -I${top_srcdir}/src/logics -I${top_srcdir}/src/smtsolvers -I${top_srcdir}/src/cnfizers -I${top_srcdir}/src/proof -I${top_srcdir}/src/api -I${top_srcdir}/src/tsolvers -I${top_srcdir}/src/tsolvers/emptysolver -I${top_srcdir}/src/tsolvers/bvsolver -I${top_srcdir}/src/tsolvers/bvsolver/minisatp -I${top_srcdir}/src/tsolvers/lrasolver -I${top_srcdir}/src/tsolvers/liasolver -I${top_srcdir}/src/tsolvers/ctsolver -I${top_srcdir}/src/tsolvers/axdiffsolver -I${top_srcdir}/src/tsolvers/dlsolver -I${top_srcdir}/src/attributes -DIGNORE_DL_THEORYPROPAGATION -DOPTIMIZE -DNDEBUG -DOSMT1_SUBSTITUTION -DCUSTOM_EL_ALLOC -DTERMS_HAVE_EXPLANATIONS -W -Wall -g -Wno-deprecated -O3
==================================================
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/travis/build/pmatos/OpenSMT2/missing aclocal-1.14 -I m4
/home/travis/build/pmatos/OpenSMT2/missing: line 81: aclocal-1.14: command not found
WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
make: *** [aclocal.m4] Error 127
The command "./configure && make -j4" failed and exited with 2 during .
Your build has been stopped.
为什么会发生这种情况以及如何避免这种情况发生?