petsc4py installation on ARCHER: directory lib/petsc-conf not found
Dear firedrakers, I'm trying to update my firedrake installation on ARCHER, and I came across an issue with petsc4py. I'm using the dmplex-1d-refinement branch of PETSc (latest version from mapdes), which I can build without problems. When I then try to install petsc4py (branch firedrake, also from mapdes) I get: eike@eslogin006 $ python setup.py install --prefix=`pwd`/$PETSC_ARCH running install running build running build_src running build_py running build_ext error: /work/n02/n02/eike/git_workspace/petsc/cray-gnu-shared/lib/petsc-conf/variables: No such file or directory This directory is not created during the PETSc installation, so it's odd that petsc4py is looking for it. There seem to have been some recent changes to the configuration, see e.g. here: commit 76e91a3c243d089c5102cc8e68a0881b5d48a885 Author: Barry Smith <bsmith@mcs.anl.gov> Date: Tue Jan 13 10:11:20 2015 -0600 location of PETSc configuration files was changed to lib/petsc-conf from the previous directory conf I rolled back to petsc4py commit 99a07fb395949e1c03fb0af8954d784f5c3b18fe, but if I try to build then I get the error message below. I suspect that the dmplex-1d-refinement PETSc branch is missing the relevant changes in the master? Should I use a different PETSc branch? Thanks a lot, Eike eike@eslogin006 $ git log -1 commit 99a07fb395949e1c03fb0af8954d784f5c3b18fe Merge: bcfcbe4 02ee487 Author: Lisandro Dalcin <dalcinl@gmail.com> Date: Tue Jan 13 17:46:49 2015 +0300 Merge branch 'maint' eike@eslogin006 $ python setup.py install --prefix=`pwd`/$PETSC_ARCH running install running build running build_src running build_py running build_ext PETSC_DIR: /work/n02/n02/eike/git_workspace/petsc PETSC_ARCH: cray-gnu-shared version: 3.5.2 development scalar-type: real precision: double language: CONLY compiler: cc linker: cc building 'PETSc' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/cray-gnu-shared creating build/temp.linux-x86_64-2.7/cray-gnu-shared/src cc -pthread -fPIC -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -DPETSC_DIR=/work/n02/n02/eike/git_workspace/petsc -I/fs2/n02/n02/eike/git_workspace/petsc/cray-gnu-shared/include -I/work/n02/n02/eike/git_workspace/petsc/cray-gnu-shared/include -I/work/n02/n02/eike/git_workspace/petsc/include -Isrc/include -I/work/y07/y07/cse/anaconda/1.9.2/lib/python2.7/site-packages/numpy/core/include -I/work/y07/y07/cse/anaconda/1.9.2/include/python2.7 -c src/PETSc.c -o build/temp.linux-x86_64-2.7/cray-gnu-shared/src/PETSc.o In file included from /work/y07/y07/cse/anaconda/1.9.2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1760:0, from /work/y07/y07/cse/anaconda/1.9.2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:17, from /work/y07/y07/cse/anaconda/1.9.2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4, from src/include/petsc4py/numpy.h:11, from src/petsc4py.PETSc.c:240, from src/PETSc.c:3: /work/y07/y07/cse/anaconda/1.9.2/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_4SNES_56hasNPC': src/petsc4py.PETSc.c:150802:3: warning: implicit declaration of function 'SNESHasNPC' [-Wimplicit-function-declaration] __pyx_t_1 = __pyx_f_8petsc4py_5PETSc_CHKERR(SNESHasNPC(__pyx_v_self->snes, (&__pyx_v_has_npc))); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[35]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^ src/petsc4py.PETSc.c: In function '__pyx_pf_8petsc4py_5PETSc_4SNES_188getCompositeNumber': src/petsc4py.PETSc.c:159512:3: warning: implicit declaration of function 'SNESCompositeGetNumber' [-Wimplicit-function-declaration] __pyx_t_1 = __pyx_f_8petsc4py_5PETSc_CHKERR(SNESCompositeGetNumber(__pyx_v_self->snes, (&__pyx_v_cn))); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[35]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^ src/petsc4py.PETSc.c: In function '__pyx_pf_8petsc4py_5PETSc_6DMPlex_120distributeOverlap': src/petsc4py.PETSc.c:211458:47: warning: passing argument 3 of 'DMPlexDistributeOverlap' from incompatible pointer type __pyx_t_3 = __pyx_f_8petsc4py_5PETSc_CHKERR(DMPlexDistributeOverlap(__pyx_v_self->__pyx_base.dm, __pyx_v_coverlap, (&__pyx_v_sf->sf), (&__pyx_v_dmOverlap))); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[41]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^ In file included from /work/n02/n02/eike/git_workspace/petsc/include/petsc.h:16:0, from src/petsc4py.PETSc.c:236, from src/PETSc.c:3: /work/n02/n02/eike/git_workspace/petsc/include/petscdmplex.h:186:29: note: expected 'ISLocalToGlobalMapping' but argument is of type 'struct _p_PetscSF **' PETSC_EXTERN PetscErrorCode DMPlexDistributeOverlap(DM, PetscInt, ISLocalToGlobalMapping, PetscSF *, DM *); ^ In file included from src/PETSc.c:3:0: src/petsc4py.PETSc.c:211458:47: warning: passing argument 4 of 'DMPlexDistributeOverlap' from incompatible pointer type __pyx_t_3 = __pyx_f_8petsc4py_5PETSc_CHKERR(DMPlexDistributeOverlap(__pyx_v_self->__pyx_base.dm, __pyx_v_coverlap, (&__pyx_v_sf->sf), (&__pyx_v_dmOverlap))); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[41]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^ In file included from /work/n02/n02/eike/git_workspace/petsc/include/petsc.h:16:0, from src/petsc4py.PETSc.c:236, from src/PETSc.c:3: /work/n02/n02/eike/git_workspace/petsc/include/petscdmplex.h:186:29: note: expected 'struct _p_PetscSF **' but argument is of type 'struct _p_DM **' PETSC_EXTERN PetscErrorCode DMPlexDistributeOverlap(DM, PetscInt, ISLocalToGlobalMapping, PetscSF *, DM *); ^ In file included from src/PETSc.c:3:0: src/petsc4py.PETSc.c:211458:47: error: too few arguments to function 'DMPlexDistributeOverlap' __pyx_t_3 = __pyx_f_8petsc4py_5PETSc_CHKERR(DMPlexDistributeOverlap(__pyx_v_self->__pyx_base.dm, __pyx_v_coverlap, (&__pyx_v_sf->sf), (&__pyx_v_dmOverlap))); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[41]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ^ In file included from /work/n02/n02/eike/git_workspace/petsc/include/petsc.h:16:0, from src/petsc4py.PETSc.c:236, from src/PETSc.c:3: /work/n02/n02/eike/git_workspace/petsc/include/petscdmplex.h:186:29: note: declared here PETSC_EXTERN PetscErrorCode DMPlexDistributeOverlap(DM, PetscInt, ISLocalToGlobalMapping, PetscSF *, DM *); ^ error: command 'cc' failed with exit status 1
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Eike, On 27/01/15 13:21, Eike Mueller wrote:
Dear firedrakers,
I'm trying to update my firedrake installation on ARCHER, and I came across an issue with petsc4py.
I'm using the dmplex-1d-refinement branch of PETSc (latest version from mapdes), which I can build without problems. When I then try to install petsc4py (branch firedrake, also from mapdes) I get:
Yes, that branch is based on a petsc before the config changes, whereas the firedrake petsc4py branch is afterwards. The 1D refinement stuff made it into petsc master, but was slightly broken. There is a fix in next which should make it through soon. In the short term you can run with petsc branch knepley/fix-plex-1d-refinement. This will need an updated petsc4py (as of about 5 minutes ago). I'll let you know when that fix is in master and you can switch (finally) to standard branches! Cheers, Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBAgAGBQJUx5QkAAoJECOc1kQ8PEYv2jcIAPBc3kfwqKVEnyHJtCYTQBeC j68p8JJIOQrb8RBWBF99CZkIbjMpTFtxanqYvD/Y/2Miy9SHsnTsnfoAEwJar5Qj RrKcJmV8F4pKYIoB70IOf4O5Q+SA6pSgWTgGY/t8XoD5cSpIsCfAgAtirNfj9/7I vntgqFdyjq8ZkwpLHGMfOO6kdk4KIY8gkgHtev5XSqqPIQfy45ojTtDM2WAX4P3U 6I5y7ixojz9UYsqj4KDIxN+rrLAuY548WXtpwnK/PCrBomTkzvQQXmclb+8la/+z kz0xQTtz5K0gRJ9Ex2x/aYCNcWBPXSmuILY5ZnthrGoQ87IAGwnM1rSAH/QXVkk= =e3CZ -----END PGP SIGNATURE-----
Hi Lawrence,
In the short term you can run with petsc branch knepley/fix-plex-1d-refinement. This will need an updated petsc4py (as of about 5 minutes ago). I'll let you know when that fix is in master and you can switch (finally) to standard branches!
The branch knepley/fix-plex-1d-refinement does not seem to exist on either mapdes or origin: eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement mapdes/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'mapdes/knepley/fix-plex-1d-refinement' which can not be resolved as commit? eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement origin/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'origin/knepley/fix-plex-1d-refinement' which can not be resolved as commit? Have you already merged it? Does look like it when I log mapdes/master, most recent commit there is from last year. Thanks, Eike
Cheers,
Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/
iQEcBAEBAgAGBQJUx5QkAAoJECOc1kQ8PEYv2jcIAPBc3kfwqKVEnyHJtCYTQBeC j68p8JJIOQrb8RBWBF99CZkIbjMpTFtxanqYvD/Y/2Miy9SHsnTsnfoAEwJar5Qj RrKcJmV8F4pKYIoB70IOf4O5Q+SA6pSgWTgGY/t8XoD5cSpIsCfAgAtirNfj9/7I vntgqFdyjq8ZkwpLHGMfOO6kdk4KIY8gkgHtev5XSqqPIQfy45ojTtDM2WAX4P3U 6I5y7ixojz9UYsqj4KDIxN+rrLAuY548WXtpwnK/PCrBomTkzvQQXmclb+8la/+z kz0xQTtz5K0gRJ9Ex2x/aYCNcWBPXSmuILY5ZnthrGoQ87IAGwnM1rSAH/QXVkk= =e3CZ -----END PGP SIGNATURE-----
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 28/01/15 10:04, Eike Mueller wrote:
Hi Lawrence,
In the short term you can run with petsc branch knepley/fix-plex-1d-refinement. This will need an updated petsc4py (as of about 5 minutes ago). I'll let you know when that fix is in master and you can switch (finally) to standard branches!
The branch knepley/fix-plex-1d-refinement does not seem to exist on either mapdes or origin:
Did you fetch from origin as well as mapdes? It exists for me.
eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement mapdes/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'mapdes/knepley/fix-plex-1d-refinement' which can not be resolved as commit?
eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement origin/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'origin/knepley/fix-plex-1d-refinement' which can not be resolved as commit?
Have you already merged it? Does look like it when I log mapdes/master, most recent commit there is from last year.
Yes, the mapdes/master branch is not up to date. The firedrake branch in mapdes is "known good" against master firedrake/PyOP2. But I don't sync all the branches across. So assuming the remote "origin" points as bitbucket.org/petsc/petsc.git you can do: git fetch origin git checkout knepley/fix-plex-1d-refinement Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJUyM0rAAoJECOc1kQ8PEYv1kMH/1QpxTUt1ZZqLsHkwA3iKfMX G+pGJ4fRXZE8r5LayA+ypqm738zGBsLViNzhxGhprTwokvP9/HRAcadmXU0lhtlM j8/DGXNj+iM8+rkO5h1l3E4DLGCifmSRehPyNprPj/EJ0f6QN953U5wv9TekZSpq 6jc2GiFawNSAsqXWRlp1cwZ10qvSZ7D7rbI8kNMK57shJLYDwEqTYwKilxWBB76Z uTpD3gqqynLLEKQm5P/ETnICq931XNDEZwyfwyarsI2Cn5sihz+igLljK4Tounh6 wGLqWW5Uauc6RV19Se71OQUp+Om3A6Q0Du3FuyiYmxyppyi0CyFPFsZe4Fk9O7g= =B76K -----END PGP SIGNATURE-----
Hi Lawrence, ok, it's working now and I can install petsc4py. I must have forgotten to fetch origin as well. Thanks, Eike On 28/01/15 11:51, Lawrence Mitchell wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 28/01/15 10:04, Eike Mueller wrote:
Hi Lawrence,
In the short term you can run with petsc branch knepley/fix-plex-1d-refinement. This will need an updated petsc4py (as of about 5 minutes ago). I'll let you know when that fix is in master and you can switch (finally) to standard branches!
The branch knepley/fix-plex-1d-refinement does not seem to exist on either mapdes or origin:
Did you fetch from origin as well as mapdes? It exists for me.
eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement mapdes/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'mapdes/knepley/fix-plex-1d-refinement' which can not be resolved as commit?
eike@eslogin003 $ git checkout -b knepley/fix-plex-1d-refinement origin/knepley/fix-plex-1d-refinement fatal: git checkout: updating paths is incompatible with switching branches. Did you intend to checkout 'origin/knepley/fix-plex-1d-refinement' which can not be resolved as commit?
Have you already merged it? Does look like it when I log mapdes/master, most recent commit there is from last year.
Yes, the mapdes/master branch is not up to date. The firedrake branch in mapdes is "known good" against master firedrake/PyOP2. But I don't sync all the branches across.
So assuming the remote "origin" points as bitbucket.org/petsc/petsc.git you can do:
git fetch origin git checkout knepley/fix-plex-1d-refinement
Lawrence
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1
iQEcBAEBAgAGBQJUyM0rAAoJECOc1kQ8PEYv1kMH/1QpxTUt1ZZqLsHkwA3iKfMX G+pGJ4fRXZE8r5LayA+ypqm738zGBsLViNzhxGhprTwokvP9/HRAcadmXU0lhtlM j8/DGXNj+iM8+rkO5h1l3E4DLGCifmSRehPyNprPj/EJ0f6QN953U5wv9TekZSpq 6jc2GiFawNSAsqXWRlp1cwZ10qvSZ7D7rbI8kNMK57shJLYDwEqTYwKilxWBB76Z uTpD3gqqynLLEKQm5P/ETnICq931XNDEZwyfwyarsI2Cn5sihz+igLljK4Tounh6 wGLqWW5Uauc6RV19Se71OQUp+Om3A6Q0Du3FuyiYmxyppyi0CyFPFsZe4Fk9O7g= =B76K -----END PGP SIGNATURE-----
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
participants (2)
- 
                
                Eike Mueller
- 
                
                Lawrence Mitchell