The file %%PYTHON_SITELIBDIR%%/petsc4py/lib/PETSc.so isn't recorded into plist

Issue #101 resolved
yurivict created an issue

The command argument --record lst doesn't record it, as it does all other installed files.

Comments (7)

  1. Lisandro Dalcin

    Yes, petsc4py breaks a little the distutils rules to support installing multiple PETSc.so modules (corresponding to different PETSc builds) on the same petsc4py install tree, so users can set the environ var PETSC_ARCH to pick a different PETSc build at runtime.

    I would need some time to figure out if I can make --record work as expected.

  2. Lisandro Dalcin

    Are you using latest petsc4py release? What Python version? You say the command argument does not work, but you do not say which command. The setup.py install --record command seems to be working for me:

    $ python2 setup.py install --prefix=/tmp/petsc4py --record out.txt
    ...
    writing list of installed files to 'out.txt'
    $ grep PETSc.so out.txt 
    /tmp/petsc4py/lib/python2.7/site-packages/petsc4py/lib/arch-darwin-c-debug/PETSc.so
    
  3. yurivict reporter

    I use petsc4py-3.9.1. The problem exists with both python-2.7 and python-3.6.

    The command argument --record doesn't work for me. The command is:

    python2.7 -c  "import sys; import setuptools;  __file__='setup.py'; sys.argv[0]='setup.py';  exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))" install --record /usr/ports/math/py-petsc4py/work-py27/.PLIST.pymodtmp  -c -O1 --prefix=/usr/local --single-version-externally-managed --root=/usr/ports/math/py-petsc4py/work-py27/stage
    
    $ grep PETSc.so work-py27/.PLIST.pymodtmp
    ---nothing---
    
  4. yurivict reporter

    Thank you for fixing these bugs!

    I've incorporated your patches into the FreeBSD port for now, until they will get into the release.

    Yuri

  5. Log in to comment