On Mon, 15 Mar 2021 at 07:06, Satish Balay <[email protected]> wrote:
> Lisandro, > > For the upcoming release its best to update lib/petsc/bin/maint/builddist > to also build petsc4py tarball in sync with petsc tarball. > > What is the current process to generate petsc4py tarball? > > > > BTW: I stumbled into a couple of issues with building petsc4py docs > > 1. the docs build process requires petsc library to be built? > > > >>>> > python setup.py build_src > running build_src > cythonizing 'petsc4py.PETSc.pyx' -> 'petsc4py.PETSc.c' > cythonizing 'libpetsc4py/libpetsc4py.pyx' -> 'libpetsc4py/libpetsc4py.c' > mkdir -p docs/apiref > env CFLAGS=-O0 python2 setup.py -q build --build-lib build/lib.py2 > /usr/bin/ld: cannot find -lpetsc > collect2: error: ld returned 1 exit status > error: command 'gcc' failed with exit status 1 > make[2]: *** [makefile:110: epydoc-html] Error 1 > gmake[1]: [makefile:422: sphinx-docs-all] Error 2 (ignored) > <<< > > 2. Any particular reason it needs python2? I see it requires > docutils,epydoc - but I see python3 is able to install them. > > It requires petsc4py to be installed in Python 2, such that epydoc can build the API reference. I have not found a nice replacement for epydoc-generated documentation. If Python 2 is an annoyance, then just remove, comment-out anything related to epydoc in "makefile", and run "make sdist". But this way the tarball will miss the API reference. PS: All this could be converted to a script that installs petsc4py and epydoc in a Python 2 virtual environment, and next users another venv for the Python 3 Sphinx stuff. -- Lisandro Dalcin ============ Senior Research Scientist Extreme Computing Research Center (ECRC) King Abdullah University of Science and Technology (KAUST) http://ecrc.kaust.edu.sa/
