[petsc-users] petsc installs okay, cannot install petsc4py

Jérémy REKIER jrekier at gmail.com
Sun Aug 21 10:56:53 CDT 2016


Hi Matthew,

Thanks for your reply.
I went down hunting for other possible mpi installs and might have identified the culprit as being the mpi4py installed via anaconda package management. 
But now, after recompiling PETSc, I have another problem which I can’t really identify:

jrek at MacJerem:petsc4py$ python setup.py build
running build
running build_src
running build_py
running build_ext
PETSC_DIR:    /Users/jrek/softs/petsc
PETSC_ARCH:   arch-darwin-c-opt
version:      3.7.3 development
integer-size: 32-bit
scalar-type:  complex
precision:    double
language:     CONLY
compiler:     mpicc
linker:       mpicc
building 'PETSc' extension
mpicc -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Qunused-arguments -g3 -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/jrek/miniconda3/include -arch x86_64 -DPETSC_DIR=/Users/jrek/softs/petsc -I/usr/local/Cellar/open-mpi/1.10.3/include -I/usr/local/opt/openssl/include -I/opt/X11/include -I/usr/local/include -I/Users/jrek/softs/petsc/arch-darwin-c-opt/include -I/Users/jrek/softs/petsc/include -Isrc/include -I/Users/jrek/miniconda3/lib/python3.5/site-packages/numpy/core/include -I/Users/jrek/miniconda3/include/python3.5m -c src/PETSc.c -o build/temp.macosx-10.6-x86_64-3.5/arch-darwin-c-opt/src/PETSc.o
In file included from src/PETSc.c:3:
In file included from src/petsc4py.PETSc.c:273:
In file included from src/include/custom.h:8:
In file included from /Users/jrek/softs/petsc/include/petsc/private/matimpl.h:6:
/Users/jrek/softs/petsc/include/petscmatcoarsen.h:33:16: error: redefinition of '_PetscCDIntNd'
typedef struct _PetscCDIntNd{
               ^
/usr/local/include/petscmat.h:1322:16: note: previous definition is here
typedef struct _PetscCDIntNd{
               ^
In file included from src/PETSc.c:3:
In file included from src/petsc4py.PETSc.c:273:
In file included from src/include/custom.h:8:
In file included from /Users/jrek/softs/petsc/include/petsc/private/matimpl.h:6:
/Users/jrek/softs/petsc/include/petscmatcoarsen.h:36:2: error: typedef redefinition with different types ('struct (anonymous struct at
      /Users/jrek/softs/petsc/include/petscmatcoarsen.h:33:16)' vs 'struct _PetscCDIntNd')
}PetscCDIntNd;

And many subsequent errors. I have never had that one before and I have no clue of what to do to solve it.
Any thought. 

Thanks very much.
Cheers,

> On 21 Aug 2016, at 5:35 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Sun, Aug 21, 2016 at 10:04 AM, Jérémy REKIER <jrekier at gmail.com <mailto:jrekier at gmail.com>> wrote:
> 
> Dear support team,
> 
> I am trying to install petsc4py on top of my miniconda3 python environment. 
> 
> I recently filed an issue <https://bitbucket.org/petsc/petsc4py/issues/50/cannot-pass-runtestpy#comment-30006281> on bitbucket about the trouble that I was having with installing the development version of petsc4py. I have changed the status of this issue as invalid as this no longer corresponds to the trouble that I am having. 
> 
> Since I think that the problem I’m probably having comes from my—possibly broken—environment, I reckoned the best was to ask for support via e-mail.
> 
> I had previously succeeded in installing the development version of both petsc and petsc4py on my office computer running on MacOSX. But, when I try to do so on my laptop (using the same OS) using exactly the same command inputs, I keep on failing. 
> 
> Now, I seem to compile PETSc without trouble. Configuration step produces the following output:
> 
> 
> jrek at MacJerem:petsc$ python2.7 ./configure --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --with-scalar-type=complex --download-scalapack --download-mumps
> ===============================================================================
>              Configuring PETSc to compile on your system                       
> ===============================================================================
> Compilers:                                                                                                                                                                  
>   C Compiler:         mpicc    -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Qunused-arguments -fvisibility=hidden -g3 
>   C++ Compiler:       mpicxx  -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fvisibility=hidden -g     
>   Fortran Compiler:   mpif90   -Wall -ffree-line-length-0 -Wno-unused-dummy-argument -g  
> Linkers:
>   Shared linker:   mpicc  -dynamiclib -single_module -undefined dynamic_lookup -multiply_defined suppress    -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Qunused-arguments -fvisibility=hidden -g3
>   Dynamic linker:   mpicc  -dynamiclib -single_module -undefined dynamic_lookup -multiply_defined suppress    -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Qunused-arguments -fvisibility=hidden -g3
> make:
> BLAS/LAPACK: -llapack -lblas
> MPI:
>   Includes: -I/usr/local/Cellar/open-mpi/1.10.3/include
> cmake:
>   Arch:     
> hwloc:
>   Includes: -I/usr/local/include
>   Library:  -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lhwloc
> scalapack:
>   Library:  -Wl,-rpath,/Users/jrek/softs/petsc/arch-darwin-c-opt/lib -L/Users/jrek/softs/petsc/arch-darwin-c-opt/lib -lscalapack
> MUMPS:
>   Includes: -I/Users/jrek/softs/petsc/arch-darwin-c-opt/include
>   Library:  -Wl,-rpath,/Users/jrek/softs/petsc/arch-darwin-c-opt/lib -L/Users/jrek/softs/petsc/arch-darwin-c-opt/lib -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord
> X:
>   Includes: -I/opt/X11/include
>   Library:  -Wl,-rpath,/opt/X11/lib -L/opt/X11/lib -lX11
> pthread:
> sowing:
> ssl:
>   Includes: -I/usr/local/opt/openssl/include
>   Library:  -Wl,-rpath,/usr/local/opt/openssl/lib -L/usr/local/opt/openssl/lib -lssl -lcrypto
> PETSc:
>   PETSC_ARCH: arch-darwin-c-opt
>   PETSC_DIR: /Users/jrek/softs/petsc
>   Scalar type: complex
>   Precision: double
>   Clanguage: C
>   Integer size: 32
>   shared libraries: enabled
>   Memory alignment: 16
> xxx=========================================================================xxx
>  Configure stage complete. Now build PETSc libraries with (gnumake build):
>    make PETSC_DIR=/Users/jrek/softs/petsc PETSC_ARCH=arch-darwin-c-opt all
> xxx=========================================================================xxx
> 
> Then, everything works smoothly with building and testing until I get to the point of actually installing petsc4py. Then, the error I am having is this one:
> 
> jrek at MacJerem:petsc4py$ python setup.py install 
> running install
> running build
> running build_src
> running build_py
> running build_ext
> PETSC_DIR:    /Users/jrek/softs/petsc
> PETSC_ARCH:   arch-darwin-c-opt
> version:      3.7.3 development
> integer-size: 32-bit
> scalar-type:  complex
> precision:    double
> language:     CONLY
> compiler:     mpicc
> linker:       mpicc
> building 'PETSc' extension
> mpicc -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -Qunused-arguments -g3 -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/jrek/miniconda3/include -arch x86_64 -DPETSC_DIR=/Users/jrek/softs/petsc -I/usr/local/Cellar/open-mpi/1.10.3/include -I/usr/local/opt/openssl/include -I/opt/X11/include -I/usr/local/include -I/Users/jrek/softs/petsc/arch-darwin-c-opt/include -I/Users/jrek/softs/petsc/include -Isrc/include -I/Users/jrek/miniconda3/lib/python3.5/site-packages/numpy/core/include -I/Users/jrek/miniconda3/include/python3.5m -c src/PETSc.c -o build/temp.macosx-10.6-x86_64-3.5/arch-darwin-c-opt/src/PETSc.o
> In file included from src/PETSc.c:3:
> In file included from src/petsc4py.PETSc.c:271:
> In file included from /usr/local/include/petsc.h:5:
> In file included from /usr/local/include/petscbag.h:4:
> /usr/local/include/petscsys.h:152:6: error: "PETSc was configured with one OpenMPI mpi.h version but now appears to be compiling using a different OpenMPI mpi.h version"
> #    error "PETSc was configured with one OpenMPI mpi.h version but now appears to be compiling using a different OpenMPI mpi.h version"
> 
> Plus other errors which I think have good chances of being due to this one. 
> 
> I guess I must probably have conflicting OpenMPI installs but I do not understand why PETSc is cannot compile just as fine as it did a moment ago. 
> How can be sure of the “mpi.h” that I am using and would specify one solve my problem ? 
> 
> I believe this can happen because Python is not always as careful about letting default include directories sneak in since they believe
> you should always be using them.
> 
> So the MPI that PETSc used was
> 
>   mpicc in your path
>   Includes: -I/usr/local/Cellar/open-mpi/1.10.3/include
> 
> but I bet that you have
> 
>   /use/include/mpi.h
> 
> as well. I guess its also possible that you have a slightly different path when you installed petsc4py
> than when you installed PETSc, and this causes two different 'mpicc' to be picked up.
> 
> I would say that having multiple installs of MPI is always the road to disaster.
> 
>    Matt
>  
> Any help would be greatly appreciated as this is slowly driving me insane :)
> Thanks very much in advance :D
> 
> Cheers,
> Jerem 
> -- 
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160821/307be7df/attachment.html>


More information about the petsc-users mailing list