Hi Prof. Bangerth,

I checked Make.global_options (attached below) and all the compilers are
from intel. 
But in Makefile I added @echo $(CXX), this gives me 

/usr/global/openmpi/current/gnu/bin/mpicxx

I have no idea when the GNU mpi compiler sneaks in. Actually this path
no longer exists on the machine. 

Thanks,

Huan


Here's the Make.global_options file




        # $Id: Make.global_options.in 19754 2009-10-08 01:45:57Z
        bangerth $
        
        
###############################################################################
        ## Please note:
        ##   The ./configure script generates Make.global_options from
        ##   Make.global_options.in, so if you want to change something,
        ##   then do it in the latter file and re-run ./configure in the
        ##   top level directory
        ##
        ##
        ##   This file exports several variables. They are documented in
        ##   the file  doc/development/makefiles.html. If you add a new
        ##   variable, make sure it is documented in
        ##   doc/development/makefiles.1.html and listed in
        ##   doc/development/Makefile.
        
###############################################################################
        
        
        
        ######################################################
        # the following lines will be replaced by the output
        # of ./configure
        
        D                    = /gpfs/home/hus126/work/deal.II
        CXX
        = /usr/global/openmpi/1.4.0/intel/bin/mpiCC 
        GXX-VERSION          = intel_icc11
        GXX-VERSION-DETAILED = intel_icc11
        CC
        = /usr/global/openmpi/1.4.0/intel/bin/mpicc 
        CC-VERSION           = intel_icc
        SHLIBLD
        = /usr/global/openmpi/1.4.0/intel/bin/mpicc 
        SHLIBFLAGS           = 
        AR                   = /usr/bin/ar
        RANLIB               = /usr/bin/ranlib
        LDFLAGS              = -L/gpfs/home/hus126/work/deal.II/lib
        -Wl,-rpath,/gpfs/home/hus126/work/deal.II/lib   -lstdc++
        -lpthread -lpthread -lpthread -ldl -rdynamic
        -L/gpfs/home/hus126/work/download/metis-4.0 -lmetis
        F77
        = /usr/global/openmpi/1.4.0/intel/bin/mpif77
        F77-VERSION          = INTEL_F77
        F77LIBS              = 
        LIBS                 = -lmkl_lapack95_lp64 -lmkl_intel_lp64
        -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -lz
        -lmkl_blas95_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
        -liomp5 -lpthread -lm  
        LIBDIR               = $D/lib
        PERL                 = /usr/bin/perl
        enable-threads       = yes
        enable-shared        = no
        enable-parser        = yes
        DEAL_II_VERSION      = 6.3.pre
        DEAL_II_MAJOR        = 6
        DEAL_II_MINOR        = 3
        
        USE_CONTRIB_PETSC    = yes
        DEAL_II_PETSC_DIR    = /usr/global/petsc/3.0.0-p8
        DEAL_II_PETSC_ARCH   = linux-gnu-c-debug
        DEAL_II_PETSC_VERSION_MAJOR    = 3
        DEAL_II_PETSC_VERSION_MINOR    = 0
        DEAL_II_PETSC_VERSION_SUBMINOR = 0
        DEAL_II_PETSC_MPIUNI_LIB = 
        
        USE_CONTRIB_SLEPC    = no
        DEAL_II_SLEPC_DIR    = 
        DEAL_II_SLEPC_VERSION_MAJOR    = 
        DEAL_II_SLEPC_VERSION_MINOR    = 
        DEAL_II_SLEPC_VERSION_SUBMINOR = 
        
        USE_CONTRIB_TRILINOS = yes
        DEAL_II_TRILINOS_INCDIR = /usr/global/trilinos/current/include
        DEAL_II_TRILINOS_LIBDIR = /usr/global/trilinos/current/lib
        DEAL_II_TRILINOS_SHARED = 
        DEAL_II_TRILINOS_STATIC = yes
        
        USE_CONTRIB_METIS    = yes
        DEAL_II_METIS_LIBDIR
        = /gpfs/home/hus126/work/download/metis-4.0
        
        USE_CONTRIB_HSL      = 
        USE_CONTRIB_UMFPACK  = yes
        
        TARGET               = x86_64-unknown-linux-gnu
        
        ######################################################
        # now configuration for compiler flags, paths, etc
        
        # path for libraries
        
        LIBPATH    += $(addprefix -L,$(LIBDIR))
        
        static-lib-suffix = .a
        shared-lib-suffix = .so
        
        ifeq ($(enable-shared),yes)
           lib-suffix = $(shared-lib-suffix)
        else
           lib-suffix = $(static-lib-suffix)
        endif
        
        # add search path for libraries to make dependencies
        vpath %.a $(LIBDIR)
        vpath %.so $(LIBDIR)
        
        OBJEXT     = o
        EXEEXT     = 
        
        # dealing with shared libraries
        ifeq ($(shared-lib-suffix),.so)
          DEAL_II_SHLIB_NAME = lib
        $(1)$(shared-lib-suffix).$(DEAL_II_VERSION)
        else
          DEAL_II_SHLIB_NAME = lib
        $(1).$(DEAL_II_VERSION)$(shared-lib-suffix)
        endif
        ifeq (,yes)
          DEAL_II_ADD_SONAME = -Wl,-soname,$(call DEAL_II_SHLIB_NAME,
        $(1))
        else
          ifeq (,yes)
            DEAL_II_ADD_SONAME = -Wl,-dynamic,-install_name -Wl,$(call
        DEAL_II_SHLIB_NAME,$(1))
          else
            DEAL_II_ADD_SONAME =
          endif
        endif
        
        # since the PETSc libs are called the same for both debug and
        # optimized mode, we have to have a trick to let the executable
        # know which ones are the right (since apparently
        LD_LIBRARY_PATH
        # can't do the trick unless you want to reset it every time
        # you switch from debug to optimized mode). To avoid messing
        with
        # -Wl,-rpath in our linker flags, we create one convenience
        library
        # for all PETSc libraries in our own lib directory, and have
        this one
        # twiddle with whatever is necessary to link in PETSc.
        #
        # to make things more fun, the whole scheme was changed in petsc
        2.3.0
        # and then again in petsc 3.0.0
        #
        # also sort of annoying is the fact that on Mac OS X, the trick
        with the
        # one library doesn't appear to work. Instead of a single
        library, we therefore
        # have to list all of them, at least if we are using shared
        libs.
        ifeq ($(USE_CONTRIB_PETSC),yes)
          ifeq ($(DEAL_II_PETSC_VERSION_MAJOR),2)
            ifeq ($(DEAL_II_PETSC_VERSION_MINOR),2)
              lib-contrib-petsc-path.g = $(DEAL_II_PETSC_DIR)/lib/libg_c
        ++/$(DEAL_II_PETSC_ARCH)
              lib-contrib-petsc-path.o = $(DEAL_II_PETSC_DIR)/lib/libO_c
        ++/$(DEAL_II_PETSC_ARCH)
            else
              lib-contrib-petsc-path.g =
        $(DEAL_II_PETSC_DIR)/lib/$(DEAL_II_PETSC_ARCH)
              lib-contrib-petsc-path.o =
        $(DEAL_II_PETSC_DIR)/lib/$(DEAL_II_PETSC_ARCH)
            endif
            ifeq ($(findstring darwin,$(TARGET)),)
              lib-contrib-petsc.g = $(LIBDIR)/libpetscall.g$(lib-suffix)
              lib-contrib-petsc.o = $(LIBDIR)/libpetscall$(lib-suffix)
            else
              ifeq ($(enable-shared),yes)
                lib-contrib-petsc.g = $(shell echo
        $(DEAL_II_PETSC_DIR)/lib/$(DEAL_II_PETSC_ARCH)/*$(lib-suffix))
                lib-contrib-petsc.o = $(shell echo
        $(DEAL_II_PETSC_DIR)/lib/$(DEAL_II_PETSC_ARCH)/*$(lib-suffix))
              else
                lib-contrib-petsc.g = $(LIBDIR)/libpetscall.g
        $(lib-suffix)
                lib-contrib-petsc.o = $(LIBDIR)/libpetscall$(lib-suffix)
              endif
            endif
          else
            lib-contrib-petsc-path.g =
        $(DEAL_II_PETSC_DIR)/$(DEAL_II_PETSC_ARCH)/lib
            lib-contrib-petsc-path.o =
        $(DEAL_II_PETSC_DIR)/$(DEAL_II_PETSC_ARCH)/lib
            ifeq ($(findstring darwin,$(TARGET)),)
              lib-contrib-petsc.g = $(LIBDIR)/libpetscall.g$(lib-suffix)
              lib-contrib-petsc.o = $(LIBDIR)/libpetscall$(lib-suffix)
            else
              ifeq ($(enable-shared),yes)
                lib-contrib-petsc.g = $(shell echo
        $(DEAL_II_PETSC_DIR)/$(DEAL_II_PETSC_ARCH)/lib/*$(lib-suffix))
                lib-contrib-petsc.o = $(shell echo
        $(DEAL_II_PETSC_DIR)/$(DEAL_II_PETSC_ARCH)/lib/*$(lib-suffix))
              else
                lib-contrib-petsc.g = $(LIBDIR)/libpetscall.g
        $(lib-suffix)
                lib-contrib-petsc.o = $(LIBDIR)/libpetscall$(lib-suffix)
              endif
            endif
          endif
        endif
        
        ifeq ($(USE_CONTRIB_SLEPC),yes)
          lib-contrib-slepc    =
        $(DEAL_II_SLEPC_DIR)/$(DEAL_II_PETSC_ARCH)/lib/libslepc
        $(lib-suffix)
        endif
        
        # same for metis, except that there is only one library in that
        case
        ifeq ($(USE_CONTRIB_METIS),yes)
          lib-contrib-metis = $(DEAL_II_METIS_LIBDIR)/libmetis.a
        endif
        
        # List all trilinos libraries that we want to link with. These
        must be sorted
        # in dependency order to allow for static linking where the
        order on the
        # command line matters. Note that we check the availability of
        all these
        # libraries in aclocal.m4; the two lists should therefore be
        kept in
        # sync.
        ifeq ($(USE_CONTRIB_TRILINOS),yes)
          DEAL_II_TRILINOS_LIBS = \
                        stratimikosamesos \
                        stratimikosaztecoo \
                        stratimikosifpack \
                        stratimikosml \
                        stratimikos \
                        ml \
                        amesos \
                        belos \
                        ifpack \
                        aztecoo \
                        rtop \
                        sacado \
                        thyra \
                        thyraepetra \
                        thyraepetraext \
                        epetraext \
                        epetra \
                        teuchos \
                        triutils
        
          ifeq ($(enable-shared),yes)
            lib-contrib-trilinos = \
               $(addsuffix $(shared-lib-suffix), $(addprefix
        $(DEAL_II_TRILINOS_LIBDIR)/lib, \
        
        $(DEAL_II_TRILINOS_LIBS)))
          else
            lib-contrib-trilinos = \
               $(addsuffix $(static-lib-suffix), $(addprefix
        $(DEAL_II_TRILINOS_LIBDIR)/lib, \
        
        $(DEAL_II_TRILINOS_LIBS)))
          endif
        endif
        
        # deal with HSL; this should have been $(lib-contrib-hsl) but
        for a long time we
        # accidentally had $(lib-hsl) -- so we simply make both symbols
        available
        ifeq ($(USE_CONTRIB_HSL),yes)
          lib-hsl = $(LIBDIR)/libhsl$(lib-suffix)
          lib-contrib-hsl = $(lib-hsl)
        endif
        
        # need to link with libtbb if we're using threads
        ifeq ($(enable-threads),yes)
          lib-contrib-tbb.g = $D/lib/libtbb_debug$(shared-lib-suffix)
          lib-contrib-tbb.o = $D/lib/libtbb$(shared-lib-suffix)
        endif
        
        
        # set paths to all the libraries we need:
        lib-base.o     = $(LIBDIR)/libbase$(lib-suffix) \
                         $(lib-contrib-trilinos) \
                         $(lib-contrib-tbb.o)
        lib-base.g     = $(LIBDIR)/libbase.g$(lib-suffix) \
                         $(lib-contrib-trilinos) \
                         $(lib-contrib-tbb.g)
        
        lib-lac.o      = $(LIBDIR)/liblac$(lib-suffix) \
                         $(lib-hsl) \
                         $(lib-contrib-petsc.o) $(lib-contrib-slepc)
        $(DEAL_II_PETSC_MPIUNI_LIB) \
                         $(lib-contrib-metis)
        lib-lac.g      = $(LIBDIR)/liblac.g$(lib-suffix) \
                         $(lib-hsl) \
                         $(lib-contrib-petsc.g) $(lib-contrib-slepc)
        $(DEAL_II_PETSC_MPIUNI_LIB) \
                         $(lib-contrib-metis)
        
        lib-deal2-1d.o = $(LIBDIR)/libdeal_II_1d$(lib-suffix)
        lib-deal2-2d.o = $(LIBDIR)/libdeal_II_2d$(lib-suffix)
        lib-deal2-3d.o = $(LIBDIR)/libdeal_II_3d$(lib-suffix)
        
        lib-deal2-1d.g = $(LIBDIR)/libdeal_II_1d.g$(lib-suffix)
        lib-deal2-2d.g = $(LIBDIR)/libdeal_II_2d.g$(lib-suffix)
        lib-deal2-3d.g = $(LIBDIR)/libdeal_II_3d.g$(lib-suffix)
        
        
        # include paths. do not take into account a possibly existing
        # environment variable, since the compiler will evaluate the
        value of
        # that anyway at compile time
        include-path-petsc           = $(DEAL_II_PETSC_DIR)/include
        ifeq ($(DEAL_II_PETSC_VERSION_MAJOR),2)
          include-path-petsc-bmake   =
        $(DEAL_II_PETSC_DIR)/bmake/$(DEAL_II_PETSC_ARCH)
        else
          include-path-petsc-bmake   =
        $(DEAL_II_PETSC_DIR)/$(DEAL_II_PETSC_ARCH)/include
        endif
        include-path-slepc           = $(DEAL_II_SLEPC_DIR)/include
        include-path-slepc-conf      =
        $(DEAL_II_SLEPC_DIR)/$(DEAL_II_PETSC_ARCH)/conf
        include-path-trilinos        = $(DEAL_II_TRILINOS_INCDIR)
        
        # include paths as command line flags. while compilers allow a
        space between
        # the '-I' and the actual path, we also send these flags to the
        # make_dependencies program that doesn't support the extra
        space.
        INCLUDE = -I$D/base/include -I$D/lac/include -I
        $D/deal.II/include \
                  -I/gpfs/home/hus126/work/deal.II/contrib/boost/include   \
        
        -I/gpfs/home/hus126/work/deal.II/contrib/umfpack/UMFPACK/Include
        -I/gpfs/home/hus126/work/deal.II/contrib/umfpack/AMD/Include  \
                  -I$D/contrib
        
        # add PETSc, SLEPSc, and Trilinos include paths if necessary.
        this rule
        # (and the one further down below to get correct flags) should
        eventually
        # be replaced by something where we do not blindly include PETSc
        make files
        # (and thus import all of its variables), but rather set up a
        scheme to
        # extract these values upon configuration
        #
        # note also that this only works for PETSc before 2.3 :-]
        ifeq ($(USE_CONTRIB_PETSC),yes)
          ifeq ($(DEAL_II_PETSC_VERSION_MINOR),2)
            include
        $(DEAL_II_PETSC_DIR)/bmake/$(DEAL_II_PETSC_ARCH)/packages
          endif
          INCLUDE += -I$(include-path-petsc) -I
        $(include-path-petsc-bmake)\
                     $(MPI_INCLUDE)
        endif
        
        ifeq ($(USE_CONTRIB_SLEPC),yes)
          INCLUDE += -I$(include-path-slepc) -I
        $(include-path-slepc-conf)
        endif
        
        ifeq ($(USE_CONTRIB_TRILINOS),yes)
          INCLUDE += -I$(include-path-trilinos)
        endif
        
        ifeq ($(enable-threads),yes)
          INCLUDE += -I$(shell echo $D/contrib/tbb/tbb*/include)
        endif
        
        # compiler flags for debug and optimized mode
        CXXFLAGS.g   = -DHAVE_CONFIG_H -DHAVE_ISNAN -g  -DBOOST_NO_HASH
        -DBOOST_NO_SLIST -DDEBUG -w1 -wd175 -wd525 -wd327 -wd424 -wd11
        -wd734 -wd858 -wd1572 -Wno-unused -Wno-overloaded-virtual
        -Wno-extra  $(INCLUDE)
        CXXFLAGS.o   = -DHAVE_CONFIG_H -DHAVE_ISNAN  -DBOOST_NO_HASH
        -DBOOST_NO_SLIST -O2 -unroll -w0 -wd424 -wd11 -opt-report 0
        -vec-report0  $(INCLUDE)
        
        F77FLAGS.g   = -DHAVE_CONFIG_H   $(INCLUDE)
        F77FLAGS.o   = -DHAVE_CONFIG_H  -O3  $(INCLUDE)
        
        # compile flags for C compiler
        CFLAGS =  -O2 -unroll -ansi_alias -vec_report0 -wd1572
        
        # if in debug mode, add TBB assertions
        ifeq ($(enable-threads),yes)
          CXXFLAGS.g += -DTBB_DO_ASSERT=1
        endif
        
        
        # PETSc wants to see a whole lot of other flags being passed...
        ifeq ($(USE_CONTRIB_PETSC),yes)
          # set PETSC_DIR and PETSC_ARCH to be used in variables file
          PETSC_DIR  = $(DEAL_II_PETSC_DIR)
          PETSC_ARCH = $(DEAL_II_PETSC_ARCH)
          ifeq ($(DEAL_II_PETSC_VERSION_MAJOR),2)
            ifeq ($(DEAL_II_PETSC_VERSION_MINOR),2)
              include
        $(DEAL_II_PETSC_DIR)/bmake/$(DEAL_II_PETSC_ARCH)/variables
            else
              include $(DEAL_II_PETSC_DIR)/bmake/common/variables
            endif
          else
            include $(DEAL_II_PETSC_DIR)/conf/variables
          endif
          CXXFLAGS.g += $(GCXX_PETSCFLAGS)
          CXXFLAGS.o += $(OCXX_PETSCFLAGS)
        endif
        
        ifneq ($(enable-threads),no)
          MT = MT
        else
          MT = ==
        endif
        


On Sun, 2010-02-28 at 14:56 -0600, Wolfgang Bangerth wrote:
> > I set CC and CXX as the intel mpicc and mpiCC during the configuration
> > so that I have the following in the /common/Make.global_options
> >
> >
> >         D                    = /gpfs/home/hus126/work/deal.II
> >         CXX
> >         = /usr/global/openmpi/1.4.0/intel/bin/mpiCC
> >         GXX-VERSION          = intel_icc11
> >         GXX-VERSION-DETAILED = intel_icc11
> >         CC
> >         = /usr/global/openmpi/1.4.0/intel/bin/mpicc
> >         CC-VERSION           = intel_icc
> >         SHLIBLD
> >         = /usr/global/openmpi/1.4.0/intel/bin/mpicc
> >         SHLIBFLAGS           =
> >         AR                   = /usr/bin/ar
> >         RANLIB               = /usr/bin/ranlib
> >         LDFLAGS              = -L/gpfs/home/hus126/work/deal.II/lib
> >         -Wl,-rpath,/gpfs/home/hus126/work/deal.II/lib   -lstdc++
> >         -lpthread -lpthread -lpthread -ldl -rdynamic
> >         -L/gpfs/home/hus126/work/download/metis-4.0 -lmetis
> >         F77
> >         = /usr/global/openmpi/1.4.0/intel/bin/mpif77
> >         F77-VERSION          = INTEL_F77
> >         F77LIBS              =
> >         LIBS                 = -lmkl_lapack95_lp64 -lmkl_intel_lp64
> >         -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -lz
> >         -lmkl_blas95_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
> >         -liomp5 -lpthread -lm
> >         LIBDIR               = $D/lib
> >         PERL                 = /usr/bin/perl
> >         enable-threads       = yes
> >         enable-shared        = no
> >         enable-parser        = yes
> >         DEAL_II_VERSION      = 6.3.pre
> >         DEAL_II_MAJOR        = 6
> >         DEAL_II_MINOR        = 3
> >
> > However when I compiled using make all, I got complaints like
> >
> >
> >         cd /gpfs/home/hus126/work/deal.II/common/scripts
> >         && /usr/bin/make  make_dependencies
> >         make[1]: Entering directory
> >         `/gpfs/work/hus126/deal.II/common/scripts'
> >         ============================ Compiling make_dependencies
> >         make[1]: /usr/global/openmpi/current/gnu/bin/mpicxx: Command not
> >         found
> >         make[1]: *** [make_dependencies] Error 127
> >         make[1]: Leaving directory
> >         `/gpfs/work/hus126/deal.II/common/scripts'
> >         make: *** [common/scripts/make_dependencies] Error 2
> >
> > I am not sure why the makefile is still searching for GNU compiler and
> > will appreciate any suggestions.
> 
> This doesn't seem to make sense indeed. The Makefile in common/scripts only 
> uses $(CXX) to compile. Can you double check what CXX defaults to in 
> common/Make.global_options?
> 
> If that doesn't help, remove the '@' at the beginning of the compile lines 
> in common/scripts/Makefile to see what the actual commands are.
> 
> Best
>  W.
> 
> -------------------------------------------------------------------------
> Wolfgang Bangerth                email:            [email protected]
>                                  www: http://www.math.tamu.edu/~bangerth/


_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to