[Dune] [#501] Dune build system crashed early on during configure on Redhat Linux Systems

Benedikt Oswald benedikt.oswald at psi.ch
Tue Feb 24 16:31:28 CET 2009


Dear Christian, thanks for looking into this problem.

I just performed some tests and the results are as follows, two cases:


======================================================================================
1. CASE:  Using older versions of the autotools, e.g.

[oswald at merlin00 dune-1.2]$ autoconf --version
autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille

[oswald at merlin00 dune-1.2]$ automake --version
automake (GNU automake) 1.9.2
Written by Tom Tromey <tromey at redhat.com>.

[oswald at merlin00 dune-1.2]$ libtool --version
ltmain.sh (GNU libtool) 1.5.6 (1.1220.2.95 2004/04/11 05:50:42)


[oswald at merlin00 dune-1.2]$ m4 --version
GNU m4 1.4.1

and including

AC_PROG_LIBTOOL
LT_INIT
AC_CONFIG_MACRO_DIR([m4])

in ./dune-common/configure.ac the build process stops with:

[oswald at merlin00 dune-1.2]$ ./dune-common/bin/dunecontrol --opts=dune.psi.opts all
--- going to build dune-common dune-grid dune-istl dune-grid-howto hades  ---
--- calling all for dune-common ---
--- calling autogen for dune-common ---
Found am directory /home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-common/am
--> libtoolize...
You should update your `aclocal.m4' by running aclocal.
--> writing dependencies.m4
    for dune-common 1.2 dune at dune-project.org
        requires
--> aclocal...
/usr/share/aclocal/libgcrypt.m4:23: warning: underquoted definition of AM_PATH_LIBGCRYPT
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
configure.ac:20: warning: PKG_PROG_PKG_CONFIG is m4_require'd but is not m4_defun'd
configure.ac:20: PKG_PROG_PKG_CONFIG is required by...
dependencies.m4:27: DUNE_CHECK_MOD_DEPENDENCIES is expanded from...
configure.ac:20: DUNE_CHECK_MOD_DEPENDENCIES is required by...
/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-common/m4/dune_all.m4:47: DUNE_CHECK_ALL is expanded from...
configure.ac:20: the top level
/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-common/m4/dune_common.m4:88: DUNE_COMMON_CHECKS is expanded from...
configure.ac:20: DUNE_COMMON_CHECKS is required by...
--> autoheader...
configure.ac:20: warning: PKG_PROG_PKG_CONFIG is m4_require'd but is not m4_defun'd
configure.ac:20: PKG_PROG_PKG_CONFIG is required by...
dependencies.m4:27: DUNE_CHECK_MOD_DEPENDENCIES is expanded from...
configure.ac:20: DUNE_CHECK_MOD_DEPENDENCIES is required by...
aclocal.m4:1538: DUNE_CHECK_ALL is expanded from...
configure.ac:20: the top level
aclocal.m4:1692: DUNE_COMMON_CHECKS is expanded from...
configure.ac:20: DUNE_COMMON_CHECKS is required by...
--> automake...
configure.ac:20: warning: PKG_PROG_PKG_CONFIG is m4_require'd but is not m4_defun'd
configure.ac:20: PKG_PROG_PKG_CONFIG is required by...
dependencies.m4:27: DUNE_CHECK_MOD_DEPENDENCIES is expanded from...
configure.ac:20: DUNE_CHECK_MOD_DEPENDENCIES is required by...
aclocal.m4:1538: DUNE_CHECK_ALL is expanded from...
configure.ac:20: the top level
aclocal.m4:1692: DUNE_COMMON_CHECKS is expanded from...
configure.ac:20: DUNE_COMMON_CHECKS is required by...
doc/doxygen/Makefile.am:10: WHAT was already defined in condition TRUE, which includes condition BUILD_DOCS and WML ...
doc/doxygen/Makefile.am:6: ... `WHAT' previously defined here
am/doxygen:70: user target `html' defined here...
doc/doxygen/Makefile.am:22:   `am/doxygen' included from here
automake: ... overrides Automake target `html' defined here
am/doxygen:70: consider using html-local instead of html
doc/doxygen/Makefile.am:22:   `am/doxygen' included from here
--> autoconf...
configure.ac:20: warning: PKG_PROG_PKG_CONFIG is m4_require'd but is not m4_defun'd
configure.ac:20: PKG_PROG_PKG_CONFIG is required by...
dependencies.m4:27: DUNE_CHECK_MOD_DEPENDENCIES is expanded from...
configure.ac:20: DUNE_CHECK_MOD_DEPENDENCIES is required by...
aclocal.m4:1538: DUNE_CHECK_ALL is expanded from...
configure.ac:20: the top level
aclocal.m4:1692: DUNE_COMMON_CHECKS is expanded from...
configure.ac:20: DUNE_COMMON_CHECKS is required by...
Now run ./configure to setup dune-common
--- calling configure for dune-common ---
----- using default flags $CONFIGURE_FLAGS from /home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune.psi.opts -----
./configure CXX='mpicxx' CC='mpicc' LD='mpicxx' CXXFLAGS='-DMPICH_IGNORE_CXX_SEEK ' CPPFLAGS='-DMPICH_IGNORE_CXX_SEEK ' LDFLAGS='-lgfortran /usr/lib64/libblas.so.3.1.1 '
LTFLAGS='-all-static ' --enable-experimental-hades3deld --disable-shared --enable-static --disable-documentation --enable-parallel --enable-boost
--with-boost='/scratch2/amas/oswald/extlib/merlin/boost-1.37.0' --enable-debug-high --enable-message-high
--with-trilinos='/scratch2/amas/oswald/extlib/merlin/trilinos-9.0.1-openmpi-1.2.5' --enable-trilinos-solver --with-geoexporter='/scratch2/amas/oswald/ownlib/merlin/faraday/euklid'
--prefix='/scratch2/amas/oswald/ownlib/merlin/hades' --with-metis='/scratch2/amas/oswald/extlib/merlin/metis-4.0'
--with-alugrid='/scratch2/amas/oswald/extlib/merlin/ALUGrid-1.14-openmpi-1.2.5' --with-rlog='/scratch2/amas/oswald/extlib/merlin/rlog-1.4'
"--with-dune-common=/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-common" "--with-dune-grid=/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-grid"
"--with-dune-istl=/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-istl" "--with-dune-grid-howto=/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-grid-howto"
"--with-hades=/home2/oswald/scratch2-svnwork-merlin/dune-1.2/hades" ACLOCAL_AMFLAGS="-I . -I /home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-common/m4 -I
/home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-grid/m4 -I /home2/oswald/scratch2-svnwork-merlin/dune-1.2/dune-istl/m4"
checking for gawk... gawk
checking build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking for gcc... mpicc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ANSI C... none needed
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for fgrep... grep -F
checking for ld used by mpicc... mpicxx
checking if the linker (mpicxx) is GNU ld... no
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... 98304
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for mpicxx option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from mpicc object... ok
checking how to run the C preprocessor... mpicc -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 mpicc supports -fno-rtti -fno-exceptions... no
checking for mpicc option to produce PIC... -fPIC -DPIC
checking if mpicc PIC flag -fPIC -DPIC works... yes
checking if mpicc static flag -static works... no
checking if mpicc supports -c -o file.o... yes
checking if mpicc supports -c -o file.o... (cached) yes
checking whether the mpicc linker (mpicxx -m elf_x86_64) supports shared libraries... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... unsupported
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking dependency style of mpicc... gcc3
checking whether ln -s works... yes
HOSTID:
./configure: line 10378: PKG_PROG_PKG_CONFIG: command not found
checking whether we are using the GNU C++ compiler... yes
checking whether mpicxx accepts -g... yes
checking dependency style of mpicxx... gcc3
checking how to run the C++ preprocessor... mpicxx -E
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether mpicxx accepts -g... (cached) yes
checking for ld used by mpicxx... mpicxx -m elf_x86_64
checking if the linker (mpicxx -m elf_x86_64) is GNU ld... no
checking whether the mpicxx linker (mpicxx -m elf_x86_64) supports shared libraries... yes
checking for mpicxx option to produce PIC... -fPIC -DPIC
checking if mpicxx PIC flag -fPIC -DPIC works... yes
checking if mpicxx static flag -static works... no
checking if mpicxx supports -c -o file.o... yes
checking if mpicxx supports -c -o file.o... (cached) yes
checking whether the mpicxx linker (mpicxx -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... unsupported
checking dependency style of mpicxx... (cached) gcc3
./configure: line 14466: PKG_PROG_PKG_CONFIG: command not found
checking for ranlib... (cached) ranlib
checking whether g++ accepts -std=c++0x... no
checking whether static_assert is supported... no
checking whether nullptr is supported... no
checking whether compiling C++ code works... yes
checking whether linking C++ objects works... yes
checking for __attribute__((deprecated))... yes
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking for mpicc... mpicc
checking for MPI_Init... yes
checking for mpi.h... yes
configure: Trying to identify the version of MPI compiler mpicc
checking for lam... no
checking for mpich... no
checking for OpenMPI... yes
checking whether compiling with OpenMPI works... yes
checking whether running with OpenMPI works... yes
checking for MPI_Finalized in -lm... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for inkscape... no
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for string.h... (cached) yes
checking type_traits usability... no
checking type_traits presence... no
checking for type_traits... no
checking tr1/type_traits usability... yes
checking tr1/type_traits presence... yes
checking for tr1/type_traits... yes
checking array usability... no
checking array presence... no
checking for array... no
checking tr1/array usability... yes
checking tr1/array presence... yes
checking for tr1/array... yes
checking tuple usability... no
checking tuple presence... no
checking for tuple... no
checking tr1/tuple usability... yes
checking tr1/tuple presence... yes
checking for tr1/tuple... yes
checking for pow in -lm... yes
checking for sqrt... yes
checking for strchr... yes
checking for doxygen... doxygen
checking for latex... latex
checking for bibtex... bibtex
checking for dvipdf... dvipdf
checking for dvips... dvips
checking for wml... no
checking for perl... perl
checking for convert... convert
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating common/Makefile
config.status: creating common/test/Makefile
config.status: creating common/exprtmpl/Makefile
config.status: creating doc/Makefile
config.status: creating doc/devel/Makefile
config.status: creating doc/layout/Makefile
config.status: creating doc/doxygen/Makefile
config.status: creating doc/doxygen/Doxyfile
config.status: creating doc/buildsystem/Makefile
config.status: creating m4/Makefile
config.status: creating am/Makefile
config.status: creating bin/wmlwrap
config.status: creating bin/check-log-store
config.status: creating dune-common.pc
config.status: creating config.h
config.status: executing libtool commands
config.status: executing depfiles commands

Found the following Dune-components:

-----------------------------

MPI..............: yes (OpenMPI)

-----------------------------

See ./configure --help and config.log for reasons why a component wasn't found

--- calling make for dune-common ---
make
make  all-recursive
make[1]: Entering directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common'
Making all in common
make[2]: Entering directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common/common'
Making all in .
make[3]: Entering directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common/common'
if /bin/sh ../libtool --mode=compile --tag=CXX mpicxx -DHAVE_CONFIG_H -I. -I. -I..  -I.. -I../.. -DMPICH_IGNORE_CXX_SEEK   -DMPICH_IGNORE_CXX_SEEK  -MT stdstreams.lo -MD -MP -MF
".deps/stdstreams.Tpo" -c -o stdstreams.lo stdstreams.cc; \
then mv -f ".deps/stdstreams.Tpo" ".deps/stdstreams.Plo"; else rm -f ".deps/stdstreams.Tpo"; exit 1; fi
../libtool: line 657: X--mode=compile: command not found
../libtool: line 657: X--tag=CXX: command not found
../libtool: line 690: libtool: ignoring unknown tag : command not found
../libtool: line 807: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 808: *** Future versions of Libtool will require -mode=MODE be specified.: command not found
../libtool: line 838: libtool: warning: cannot infer operation mode from `mpicxx': command not found
../libtool: line 6590: libtool: you must specify a MODE: command not found
../libtool: line 6591: Try `libtool --help' for more information.: command not found
make[3]: *** [stdstreams.lo] Error 1
make[3]: Leaving directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common/common'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scratch2/amas/oswald/svnwork/merlin/dune-1.2/dune-common'
make: *** [all] Error 2
--- Failed to build dune-common ---
Execution of dunecontrol terminated due to errors!

======================================================================================


======================================================================================
2. CASE using the newest versions of autotools:

[oswald at merlin00 dune-1.2]$ autoconf --version
autoconf (GNU Autoconf) 2.63
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
[oswald at merlin00 dune-1.2]$ automake --version
automake (GNU automake) 1.10.2
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey at redhat.com>
       and Alexandre Duret-Lutz <adl at gnu.org>.
[oswald at merlin00 dune-1.2]$ libtool --version
ltmain.sh (GNU libtool) 2.2.6
Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996

Copyright (C) 2008 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.
[oswald at merlin00 dune-1.2]$ m4 --version
m4 (GNU M4) 1.4.12
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


Then, I need to put the following statementsin into ./dune-common/configure.ac:

AC_PROG_LIBTOOL
LT_INIT
AC_CONFIG_MACRO_DIR([m4])

it takes all three of them



=====================================================================
In conclusion, I suspect it must have someting to do with the
autotools versions. I also installed dune-1.2 on my Mac with
Max OS X 10.5.6, where I did not need to insert the above three
statements, BUT, I had to install the newest versions of the
autotools because otherwise the build process would also crash.


Thanks for looking into it, Benedikt







Dune wrote:
> THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
> 
> The following task has a new comment added:
> 
> FS#501 - Dune build system crashed early on during configure on Redhat
> Linux Systems
> User who did this - Christian Engwer (christi)
> 
> ----------
> Dear Benedikt, could you try which command does make the difference?
> LT_INIT or AC_CONFIG_MACRO_DIR([m4])
> 
> try to disable one of the them and run dunecontrol again.
> 
> LT_INIT should be called implicitly via dependencies.m4. If this is
> necessary, the implicit invocation is somehow broken on your system.
> 
> AC_CONFIG_MACRO_DIR was never used. If this is the necessary part, we
> could add it to dependencies.m4, but we would have to test whether it is
> enough to add the m4 of this particular module, or whether all m4 dirs
> need to be added.
> ----------
> 
> More information can be found at the following URL:
> http://www.dune-project.org/flyspray/index.php?do=details&task_id=501#comment786
> 
> 
> You are receiving this message because you have requested it from the
> Flyspray bugtracking system.  If you did not expect this message or
> don't want to receive mails in future, you can change your notification
> settings at the URL shown above.






More information about the Dune mailing list