[Trilinos-Users] Teuchos_MPIReduction

hkthorn hkthorn at sandia.gov
Wed Mar 1 10:57:47 MST 2006


Hi Marco,

One quick note:  There is no configure time check to see if you have gnu
make (gmake).  You have to use "--with-gnumake" in your configure line and
then compile Trilinos with "gmake".  I didn't see "--with-gnumake" on your
configure line .... that will help your exorbitantly long compile line for
swig.

Thanks,
Heidi



On 3/1/06 9:47 AM, "Marco Morandini" <morandini at aero.polimi.it> wrote:

>> Hi Marco,
>> 
>> I can trace back the inclusion of "Teuchos_ConfigDefs.hpp" through the
>> "Teuchos_RefCountPtr.hpp" file at the top of
>> "Teuchos_MPIReductionOpBase.hpp".  While it's not direct, most
> compilers can
>> pick up this definition this way.
> 
> You are right! Apologize for that.
> I'll try to understand what's going on.
> Perhaps I'm doing something wrong, because
> my trilinos compilation are never a smooth
> experience.
> 
> 
>> If you include "Teuchos_ConfigDefs.hpp"
>> at the top of "Teuchos_MPIReductionOpBase.hpp" before the
>> 
>> #ifdef HAVE_MPI
>> 
>> does the compile problem go away?
> 
> Yes, that's exactly what I've done
> before writing the first mail.
> 
>> Which compilers are you using
> 
> On a SuSE 10.0:
> 
> gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
> 
> and what
>> does your Trilinos configuration look like (i.e. ./configure --enable-mpi
>> ...)?
> 
> I set these variables
> -------------------------------------------------------
> CPPFLAGS="\
>           -I/home/marco/Math/UFsparse/UMFPACK/Include \
>           -I/home/marco/Math/UFsparse/AMD/Include \
>           -I/home/marco/Math/Taucs/src \
>           -I/home/marco/Math/Taucs/build/linux \
>           -I/home/marco/Math/SuperLU_3.0/SRC \
>           -I/home/marco/Math/metis-4.0/Lib \
> -I/home/marco/local/openmpi-1.0.1/include \
> -I/home/marco/local/openmpi-1.0.1/include/openmpi/ompi \
> "
> 
> CFLAGS=$CPPFLAGS" -g -Wall -O2"
> #CFLAGS="-g -Wall"
> CXXFLAGS=$CFLAGS
> CC=gcc
> CXX=g++
> F77="g77 -O"
> 
> LDFLAGS="-rdynamic \
>          -L/home/marco/Math/UFsparse/UMFPACK/Lib \
>          -L/home/marco/Math/UFsparse/AMD/Lib \
>          -L/home/marco/Math/LAPACK \
>          -L/home/marco/Math/ATLAS/lib/Linux_ATHLONSSE1 \
>          -L/home/marco/Math/Taucs/lib/linux \
> -L/home/marco/Math/Taucs/external/lib/linux \
> -L/home/marco/Math/SuperLU_3.0 \
> -L/home/marco/Math/metis-4.0 \
> -L/home/marco/Math/ARPACK \
> -L/home/marco/local/openmpi-1.0.1/lib \
> -lumfpack \
> -lamd \
> -llapack \
> -lcblas -lf77blas -latlas \
> -lexpat \
> "
> 
> export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS CC CXX F77 LDFLAGS
> -------------------------------------------------------
> 
> and then configure with
> 
> ../configure  \
> --enable-mpi \
> --with-mpi-compilers \
> --enable-teuchos \
> --enable-teuchos-extended \
> --enable-teuchos-complex \
> --enable-teuchos-expat \
> --enable-thyra \
> --enable-epetra \
> --enable-epetraext \
> --enable-amesos \
> --enable-amesos-umfpack \
> --enable-amesos-thyra \
> --enable-ifpack \
> --enable-aztecoo \
> --enable-ml \
> --enable-triutils \
> --enable-python \
> --with-trilinos \
> --enable-nox \
> --enable-nox-epetra \
> --enable-nox-lapack \
> --enable-new_package \
> --enable-pytrilinos \
> --prefix=/home/marco/local/trilinos-6.0.14 \
> --enable-expat
> 
> 
> 
>> 
>> Thanks,
>> Heidi
> 
>> Hi Marco,
>> 
>> I've given the problem a second thought and here are some ideas on what may
>> be happening.
>> 
>> 1)  If you are compiling against an installed version of Trilinos, did you
>> include -DHAVE_CONFIG_H on the compile line?  This preprocessing flag is
>> essential for the Teuchos_ConfigDefs.hpp file to know that Trilinos was
>> autoconf'd and include the Teuchos_config.h file.
>> 
>> 2)  Did you configure Trilinos with --enable-mpi, or anything that would
>> indicate you were using mpi compilers?
>> 
>> If both these ideas are useless, then let me know what your set-up is:
>> 
>> -compilers
>> -computing platform
>> -configure line for Trilinos (./configure --enable-mpi ...)
>> -are you building Trilinos libraries, or building AGAINST Trilinos
>> libraries?
> 
> I'm building trilinos libraries on a SuSE 10.0
> with the default compiler, and
> open-mpi 1.0.2 alpha 9
> 
> tar -zxf trilinos-6.0.14.tar.gz
> cd trilinos-6.0.14
> apply_a_patch_needed_to_build
> mkdir Build
> cd Build
> ../configure .....
> 
>> -any errors/warnings you see in the compilation
>> 
> 
> this will take some time, and I will have to
> start with an unmodified source tree.
> In the meantime, I'm attaching the the patch.
> 
> Another quirk is that it seems (but at this point I'm not
> sure of anything) that the gnu make was not detected as a gnu make.
> For this reason (I think) I ended up with
> ----------------------
> # NOX_INCLUDES = $(shell perl
> /home/marco/Programmi/Trilinos/trilinos-6.0.14/Build/packages/nox/../../../pac
> kages/nox/config/strip_dup_incl_paths.pl
> $(NOX_INCLUDES_BASE))
> NOX_INCLUDES = $(NOX_INCLUDES_BASE)
> ----------------------
> 
> instead of
> 
> ----------------------
> NOX_INCLUDES = $(shell perl
> /home/marco/Programmi/Trilinos/trilinos-6.0.14/Build/packages/nox/../../../pac
> kages/nox/config/strip_dup_incl_paths.pl
> $(NOX_INCLUDES_BASE))
> #NOX_INCLUDES = $(NOX_INCLUDES_BASE)
> ----------------------
> 
> in the file Build/packages/nox/Makefile.export.nox
> 
> this means that a very long command line is passed to swig
> (see the attached make.log);
> swig, in turn, segfaults with such command line.
> Swig is SWIG Version 1.3.24
> 
> More later, with the clean source tree.
> 
> Thanks again,
> 
> Marco
> 



More information about the Trilinos-Users mailing list