[petsc-users] petsc4py installation error with PETSc v 3.6.1

Satish Balay balay at mcs.anl.gov
Fri Jul 24 18:30:47 CDT 2015


1. Does 'make test' work for you with your petsc build?

2. Does 'make test' in work for your petsc4py build?

And what do you have for:

ldd /usr/local/lib/python2.7/dist-packages/petsc4py/lib/arch-linux2-c-opt/PETSc.so
nm -Ao /usr/local/lib/python2.7/dist-packages/petsc4py/lib/arch-linux2-c-opt/PETSc.so |grep DMShellSetCreateSubDM
nm -Ao /home/jchang23/petsc-dev/arch-linux2-c-opt/lib/libpetsc.so |grep DMShellSetCreateSubDM

Satish

On Fri, 24 Jul 2015, Justin Chang wrote:

> Hi again,
> 
> I am getting another error related to petsc4py. It happens when I updated
> to the latest version:
> 
> Traceback (most recent call last):
>   File "/usr/local/bin/py.test", line 11, in <module>
>     sys.exit(main())
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 18, in
> main
>     config = _prepareconfig(args, plugins)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 62, in
> _prepareconfig
>     pluginmanager=pluginmanager, args=args)
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in
> __call__
>     return self._docall(methods, kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in
> _docall
>     res = mc.execute()
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in
> execute
>     res = method(**kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/helpconfig.py", line 25,
> in pytest_cmdline_parse
>     config = __multicall__.execute()
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in
> execute
>     res = method(**kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 617, in
> pytest_cmdline_parse
>     self.parse(args)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 710, in
> parse
>     self._preparse(args)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 690, in
> _preparse
>     args=args, parser=self._parser)
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in
> __call__
>     return self._docall(methods, kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in
> _docall
>     res = mc.execute()
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in
> execute
>     res = method(**kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/capture.py", line 42, in
> pytest_load_initial_conftests
>     return __multicall__.execute()
>   File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in
> execute
>     res = method(**kwargs)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 673, in
> pytest_load_initial_conftests
>     self._conftest.setinitial(args)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 486, in
> setinitial
>     self._try_load_conftest(anchor)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 492, in
> _try_load_conftest
>     self._path2confmods[None] = self.getconftestmodules(anchor)
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 511, in
> getconftestmodules
>     clist.append(self.importconftest(conftestpath))
>   File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 537, in
> importconftest
>     self._conftestpath2mod[conftestpath] = mod = conftestpath.pyimport()
>   File "/usr/lib/python2.7/dist-packages/py/_path/local.py", line 620, in
> pyimport
>     __import__(modname)
>   File "/home/justin/Software/firedrake-deps/PyOP2/test/conftest.py", line
> 40, in <module>
>     from pyop2 import op2
>   File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/__init__.py", line
> 9, in <module>
>     from op2 import *
>   File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/op2.py", line 39,
> in <module>
>     import base
>   File "/home/justin/Software/firedrake-deps/PyOP2/pyop2/base.py", line 56,
> in <module>
>     from sparsity import build_sparsity
>   File "PETSc.pxd", line 70, in init pyop2.sparsity
> (pyop2/sparsity.cpp:22252)
>   File "/usr/local/lib/python2.7/dist-packages/petsc4py/PETSc.py", line 3,
> in <module>
>     PETSc = ImportPETSc(ARCH)
>   File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py",
> line 29, in ImportPETSc
>     return Import('petsc4py', 'PETSc', path, arch)
>   File "/usr/local/lib/python2.7/dist-packages/petsc4py/lib/__init__.py",
> line 64, in Import
>     module = imp.load_module(fullname, fo, fn, stuff)
> ImportError:
> /usr/local/lib/python2.7/dist-packages/petsc4py/lib/arch-linux2-c-opt/PETSc.so:
> undefined symbol: DMShellSetCreateSubDM
> make: *** [unit_sequential] Error 1
> 
> 
> Any idea on how to fix this? Thanks,
> 
> Justin
> 
> On Wednesday, July 22, 2015, Justin Chang <jychang48 at gmail.com> wrote:
> 
> > Alright got it, thanks!
> >
> > On Wed, Jul 22, 2015 at 7:44 PM, Satish Balay <balay at mcs.anl.gov
> > <javascript:_e(%7B%7D,'cvml','balay at mcs.anl.gov');>> wrote:
> >
> >> You can apply the patch with the 'patch' command
> >>
> >> cd petsc4py
> >> patch -Np1 < petsc4py.patch
> >>
> >> Satish
> >>
> >> On Wed, 22 Jul 2015, Justin Chang wrote:
> >>
> >> > How do I use this again?
> >> >
> >> > On Wednesday, July 22, 2015, Satish Balay <balay at mcs.anl.gov
> >> <javascript:_e(%7B%7D,'cvml','balay at mcs.anl.gov');>> wrote:
> >> >
> >> > > The attached patch to petsc4py should fix the error.
> >> > >
> >> > > Satish
> >> > >
> >> > > On Wed, 22 Jul 2015, Justin Chang wrote:
> >> > >
> >> > > > Hi all,
> >> > > >
> >> > > > Just installed the latest petsc-dev, and when I tried to build
> >> petsc4py
> >> > > via
> >> > > > git clone ... and pip setup.py build  i get the following errors:
> >> > > >
> >> > > > ====
> >> > > >
> >> > > > running build
> >> > > >
> >> > > > running build_src
> >> > > >
> >> > > > cythonizing 'petsc4py.PETSc.pyx' -> 'petsc4py.PETSc.c'
> >> > > >
> >> > > > cythonizing 'libpetsc4py/libpetsc4py.pyx' ->
> >> 'libpetsc4py/libpetsc4py.c'
> >> > > >
> >> > > > running build_py
> >> > > >
> >> > > > creating build
> >> > > >
> >> > > > creating build/lib.linux-x86_64-2.7
> >> > > >
> >> > > > creating build/lib.linux-x86_64-2.7/petsc4py
> >> > > >
> >> > > > copying src/PETSc.py -> build/lib.linux-x86_64-2.7/petsc4py
> >> > > >
> >> > > > copying src/__init__.py -> build/lib.linux-x86_64-2.7/petsc4py
> >> > > >
> >> > > > copying src/__main__.py -> build/lib.linux-x86_64-2.7/petsc4py
> >> > > >
> >> > > > creating build/lib.linux-x86_64-2.7/petsc4py/lib
> >> > > >
> >> > > > copying src/lib/__init__.py ->
> >> build/lib.linux-x86_64-2.7/petsc4py/lib
> >> > > >
> >> > > > creating build/lib.linux-x86_64-2.7/petsc4py/include
> >> > > >
> >> > > > creating build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/numpy.h ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/petsc4py.h ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/petsc4py.PETSc.h ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/petsc4py.PETSc_api.h ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/petsc4py.i ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/PETSc.pxd ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/__init__.pxd ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/include/petsc4py/__init__.pyx ->
> >> > > > build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
> >> > > >
> >> > > > copying src/lib/petsc.cfg -> build/lib.linux-x86_64-2.7/petsc4py/lib
> >> > > >
> >> > > > running build_ext
> >> > > >
> >> > > > PETSC_DIR:   /home/jchang23/petsc-dev
> >> > > >
> >> > > > PETSC_ARCH:  arch-linux2-c-opt
> >> > > >
> >> > > > version:     3.6.1 development
> >> > > >
> >> > > > scalar-type: real
> >> > > >
> >> > > > precision:   double
> >> > > >
> >> > > > language:    CONLY
> >> > > >
> >> > > > compiler:    /share/apps/openmpi-1.8.3/bin/mpicc
> >> > > >
> >> > > > linker:      /share/apps/openmpi-1.8.3/bin/mpicc
> >> > > >
> >> > > > building 'PETSc' extension
> >> > > >
> >> > > > creating build/temp.linux-x86_64-2.7
> >> > > >
> >> > > > creating build/temp.linux-x86_64-2.7/arch-linux2-c-opt
> >> > > >
> >> > > > creating build/temp.linux-x86_64-2.7/arch-linux2-c-opt/src
> >> > > >
> >> > > > /share/apps/openmpi-1.8.3/bin/mpicc -pthread -fPIC -O -fPIC
> >> > > > -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
> >> > > > -DPETSC_DIR=/home/jchang23/petsc-dev
> >> -I/share/apps/openmpi-1.8.3/include
> >> > > > -I/home/jchang23/petsc-dev/arch-linux2-c-opt/include
> >> > > > -I/home/jchang23/petsc-dev/include -Isrc/include
> >> > > >
> >> -I/home/jchang23/.local/lib/python2.7/site-packages/numpy/core/include
> >> > > > -I/home/jchang23/.local/include/python2.7 -c src/PETSc.c -o
> >> > > > build/temp.linux-x86_64-2.7/arch-linux2-c-opt/src/PETSc.o
> >> > > >
> >> > > > In file included from
> >> > > >
> >> > >
> >> /home/jchang23/.local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1804:0,
> >> > > >
> >> > > >                  from
> >> > > >
> >> > >
> >> /home/jchang23/.local/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17,
> >> > > >
> >> > > >                  from
> >> > > >
> >> > >
> >> /home/jchang23/.local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
> >> > > >
> >> > > >                  from src/include/petsc4py/numpy.h:11,
> >> > > >
> >> > > >                  from src/petsc4py.PETSc.c:258,
> >> > > >
> >> > > >                  from src/PETSc.c:3:
> >> > > >
> >> > > >
> >> > >
> >> /home/jchang23/.local/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
> >> > > > warning: #warning "Using deprecated NumPy API, disable it by "
> >> "#defining
> >> > > > NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
> >> > > >
> >> > > >  #warning "Using deprecated NumPy API, disable it by " \
> >> > > >
> >> > > >   ^
> >> > > >
> >> > > > In file included from src/PETSc.c:3:0:
> >> > > >
> >> > > > src/petsc4py.PETSc.c: In function
> >> > > > ‘__pyx_pf_8petsc4py_5PETSc_7Section_76createGlobalSection’:
> >> > > >
> >> > > > src/petsc4py.PETSc.c:108243:47: error: incompatible type for
> >> argument 4
> >> > > of
> >> > > > ‘PetscSectionCreateGlobalSection’
> >> > > >
> >> > > >    __pyx_t_2 =
> >> > > >
> >> > >
> >> __pyx_f_8petsc4py_5PETSc_CHKERR(PetscSectionCreateGlobalSection(__pyx_v_self->sec,
> >> > > > __pyx_v_sf->sf, PETSC_FALSE, (&__pyx_v_gsec->sec))); if
> >> > > (unlikely(__pyx_t_2
> >> > > > == -1)) {__pyx_filename = __pyx_f[32]; __pyx_lineno = 213;
> >> __pyx_clineno
> >> > > =
> >> > > > __LINE__; goto __pyx_L1_error;}
> >> > > >
> >> > > >                                                ^
> >> > > >
> >> > > > In file included from
> >> /home/jchang23/petsc-dev/include/petscvec.h:9:0,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petscmat.h:6,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petscdm.h:6,
> >> > > >
> >> > > >                  from
> >> /home/jchang23/petsc-dev/include/petscdmda.h:4,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petsc.h:12,
> >> > > >
> >> > > >                  from src/petsc4py.PETSc.c:254,
> >> > > >
> >> > > >                  from src/PETSc.c:3:
> >> > > >
> >> > > > /home/jchang23/petsc-dev/include/petscis.h:334:29: note: expected
> >> > > > ‘PetscBool’ but argument is of type ‘struct _p_PetscSection **’
> >> > > >
> >> > > >  PETSC_EXTERN PetscErrorCode
> >> > > PetscSectionCreateGlobalSection(PetscSection,
> >> > > > PetscSF, PetscBool, PetscBool, PetscSection *);
> >> > > >
> >> > > >                              ^
> >> > > >
> >> > > > In file included from src/PETSc.c:3:0:
> >> > > >
> >> > > > src/petsc4py.PETSc.c:108243:47: error: too few arguments to function
> >> > > > ‘PetscSectionCreateGlobalSection’
> >> > > >
> >> > > >    __pyx_t_2 =
> >> > > >
> >> > >
> >> __pyx_f_8petsc4py_5PETSc_CHKERR(PetscSectionCreateGlobalSection(__pyx_v_self->sec,
> >> > > > __pyx_v_sf->sf, PETSC_FALSE, (&__pyx_v_gsec->sec))); if
> >> > > (unlikely(__pyx_t_2
> >> > > > == -1)) {__pyx_filename = __pyx_f[32]; __pyx_lineno = 213;
> >> __pyx_clineno
> >> > > =
> >> > > > __LINE__; goto __pyx_L1_error;}
> >> > > >
> >> > > >                                                ^
> >> > > >
> >> > > > In file included from
> >> /home/jchang23/petsc-dev/include/petscvec.h:9:0,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petscmat.h:6,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petscdm.h:6,
> >> > > >
> >> > > >                  from
> >> /home/jchang23/petsc-dev/include/petscdmda.h:4,
> >> > > >
> >> > > >                  from /home/jchang23/petsc-dev/include/petsc.h:12,
> >> > > >
> >> > > >                  from src/petsc4py.PETSc.c:254,
> >> > > >
> >> > > >                  from src/PETSc.c:3:
> >> > > >
> >> > > > /home/jchang23/petsc-dev/include/petscis.h:334:29: note: declared
> >> here
> >> > > >
> >> > > >  PETSC_EXTERN PetscErrorCode
> >> > > PetscSectionCreateGlobalSection(PetscSection,
> >> > > > PetscSF, PetscBool, PetscBool, PetscSection *);
> >> > > >
> >> > > > error: command '/share/apps/openmpi-1.8.3/bin/mpicc' failed with
> >> exit
> >> > > > status 1
> >> > > >
> >> > > >
> >> > > > =========
> >> > > >
> >> > > > I am guessing it's because PetscSectionCreateGlobalSection has
> >> changed in
> >> > > > this latest released. Is there a way to fix this?
> >> > > >
> >> > > > Thanks,
> >> > > >
> >> > > > Justin
> >> > > >
> >> > >
> >> >
> >>
> >
> >
> 


More information about the petsc-users mailing list