On Mon, 12 Jan 2015 18:45:13 -0600
Justin Chang <[email protected]> wrote:

> Hi all,
> 
> So I am attempting to install FEnics on our university's RHEL 6.6
> cluster through the dorsal scripts. I normally use FEnics using
> Ubuntu's binary distribution so doing this kind of installation is
> uncharted territory so bear with me :)
> 
> I had to modify  the rhel6.platform file significantly and the final
> list of packages i needed were:
> 
> PACKAGES=(
> blas
> boost
> lapack
> suitesparse
> pcre
> swig
> cmake
> vtkdata
> vtk
> parmetis
> scotch
> numpy
> trilinos
> petsc
> slepc
> armadillo
> mpfr
> cgal
> skip:scientificpython
> eigen
> fiat
> ferari
> ufl
> ffc
> viper
> instant
> dolfin
> )
> 
> Everything works until i get to installing dolfin and this is the
> error I am getting
> 
> -- Build files have been written to:
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir
> make: Entering directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make[1]: Entering directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make[2]: Entering directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make[2]: Leaving directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make[2]: Entering directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> [  0%] Building CXX object
> dolfin/CMakeFiles/dolfin.dir/generation/UnitTetrahedronMesh.cpp.o
> In file included from /home/jchang23/FEniCS/include/petscsys.h:105,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/common/types.h:29,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/function/Function.h:34,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/ale/MeshDisplacement.h:28,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/Mesh.h:38,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/MeshPartitioning.h:35,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/generation/UnitTetrahedronMesh.cpp:22:
> /share/apps/openmpi-1.8.3/include/mpi.h:324: error: conflicting
> declaration ‘typedef struct ompi_communicator_t* MPI_Comm’
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/common/MPI.h:42: error:
> ‘MPI_Comm’ has a previous declaration as ‘typedef int MPI_Comm’
> In file included from /home/jchang23/FEniCS/include/petscsys.h:1794,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/common/types.h:29,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/function/Function.h:34,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/ale/MeshDisplacement.h:28,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/Mesh.h:38,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/MeshPartitioning.h:35,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/generation/UnitTetrahedronMesh.cpp:22:
> /home/jchang23/FEniCS/include/petsclog.h: In function ‘PetscErrorCode
> PetscMPITypeSizeComm(MPI_Comm, PetscLogDouble*, PetscMPIInt*,
> ompi_datatype_t*)’:
> /home/jchang23/FEniCS/include/petsclog.h:323: error: cast from
> ‘void*’ to ‘MPI_Comm’ loses precision
> /home/jchang23/FEniCS/include/petsclog.h:324: error: cast from
> ‘void*’ to ‘MPI_Comm’ loses precision
> In file included from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/common/types.h:29,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/function/Function.h:34,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/ale/MeshDisplacement.h:28,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/Mesh.h:38,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/mesh/MeshPartitioning.h:35,
>                  from
> /home/jchang23/FEniCS/src/dolfin-1.4.0/dolfin/generation/UnitTetrahedronMesh.cpp:22:
> /home/jchang23/FEniCS/include/petscsys.h: In function ‘PetscErrorCode
> PetscCitationsRegister(const char*, PetscBool*)’:
> /home/jchang23/FEniCS/include/petscsys.h:2650: error: cast from
> ‘void*’ to ‘MPI_Comm’ loses precision
> /home/jchang23/FEniCS/include/petscsys.h:2651: error: cast from
> ‘void*’ to ‘MPI_Comm’ loses precision
> /home/jchang23/FEniCS/include/petscsys.h:2652: error: cast from
> ‘void*’ to ‘MPI_Comm’ loses precision
> make[2]: ***
> [dolfin/CMakeFiles/dolfin.dir/generation/UnitTetrahedronMesh.cpp.o]
> Error 1 make[2]: Leaving directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error 2
> make[1]: Leaving directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> make: *** [all] Error 2
> make: Leaving directory
> `/home/jchang23/FEniCS/src/dolfin-1.4.0/dorsal_build_dir'
> Failure with exit status: 2
> Exit message: There was a problem building dolfin-1.4.0.
> 
> 
> >From the looks of it it seems I already have an existing
> >installation of
> OpenMPI, but my question is what do I do to resolve this?

This could happened because DOLFIN did not find MPI during configure
time and typedefed MPI_Comm to int which conflicts with MPI_Comm
indcluded from petscsys.h. Try adding

-DMPI_CXX_COMPILER:FILEPATH=/share/apps/openmpi-1.8.3/bin/mpicxx
-DMPI_C_COMPILER:FILEPATH=/share/apps/openmpi-1.8.3/bin/mpicc
-DMPI_Fortran_COMPILER:FILEPATH=/share/apps/openmpi-1.8.3/bin/mpif90

(or other correct paths) to CONFOPTS in
<dorsal>/FEniCS/packages/dolfin.package

Check <dolfin>/cmake/modules/FindMPI.cmake for more detailed
instrunctions how to configure DOLFIN with MPI.

Note that Dorsal is going to be retired and you could succeed with new
installation method https://bitbucket.org/fenics-project/fenics-install

Jan

> 
> Thanks,
> Justin

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to