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

Jérémy REKIER jrekier at gmail.com
Sun Aug 21 11:34:23 CDT 2016


Tanks very much !!
It now works like a charm ! 

Last time I use one of these silly ‘homebrew’ or 'conda' package managers for anything other than trivialities. 

Thanks again. 

Cheers,
Jerem

> On 21 Aug 2016, at 6:09 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Sun, Aug 21, 2016 at 10:56 AM, Jérémy REKIER <jrekier at gmail.com <mailto:jrekier at gmail.com>> wrote:
> 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. 
> 
> This is very similar. You have two inconsistent PETSc installs. One in
> 
>   /Users/jrek/softs/petsc/
> 
> and one in
> 
>   /usr/local/
> 
> Get rid of the use/local one.
> 
>   Thanks,
> 
>      Matt
> 
> Thanks very much.
> Cheers,
> 
>> On 21 Aug 2016, at 5:35 PM, Matthew Knepley <knepley at gmail.com <mailto: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
> 
> 
> 
> 
> -- 
> 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/d342873a/attachment.html>


More information about the petsc-users mailing list