Bug#895419: Acknowledgement (python3-dolfin: JIT compilation fails as python3-instant tries to includes petsc4py from python2)

2018-04-13 Thread Nico Schlömer
I've had that issue in the past, but never bothered looking into it. Me,
I'll hold out for 2018.1 (which kills Python 2 support) to fix these kind
of bugs.

Cheers,
Nico

On Fri, Apr 13, 2018 at 4:54 PM Fabrice Silva  wrote:

> Additional information from Johannes Ring (fenics dev) on
> https://groups.google.com/d/topic/fenics-support/mfJdWYwq0-w/discussion
>
>The problem is that the path to petsc4py is included in
>/usr/share/dolfin/cmake/DOLFINConfig.cmake and
>/usr/share/dolfin/cmake/DOLFINTargets.cmake, while it should only
>have been included in /usr/share/dolfin/cmake/DOLFINPython27.cmake
>and /usr/share/dolfin/cmake/DOLFINPython36.cmake.
>
>The quick fix would be to either install python-petsc4py (the
>petsc4py include files are the same for python2 and python3) or to
>remove the path to petsc4py from DOLFINConfig.cmake and
>DOLFINTargets.cmake.
>
> These recommendations solve the trouble (even if other errors are still
> raised in the overly-simplified script).
>
>


Bug#895419: Acknowledgement (python3-dolfin: JIT compilation fails as python3-instant tries to includes petsc4py from python2)

2018-04-13 Thread Fabrice Silva
Additional information from Johannes Ring (fenics dev) on 
https://groups.google.com/d/topic/fenics-support/mfJdWYwq0-w/discussion

   The problem is that the path to petsc4py is included in
   /usr/share/dolfin/cmake/DOLFINConfig.cmake and
   /usr/share/dolfin/cmake/DOLFINTargets.cmake, while it should only
   have been included in /usr/share/dolfin/cmake/DOLFINPython27.cmake
   and /usr/share/dolfin/cmake/DOLFINPython36.cmake.

   The quick fix would be to either install python-petsc4py (the
   petsc4py include files are the same for python2 and python3) or to
   remove the path to petsc4py from DOLFINConfig.cmake and
   DOLFINTargets.cmake.

These recommendations solve the trouble (even if other errors are still
raised in the overly-simplified script).

--- /tmp/DOLFINConfig.cmake	2018-04-13 16:27:57.189842279 +0200
+++ /usr/share/dolfin/cmake/DOLFINConfig.cmake	2018-04-13 16:28:29.169796349 +0200
@@ -40,7 +40,7 @@
 set(DOLFIN_INCLUDE_DIRS "/usr/include")
 
 # Third party include directories
-set(DOLFIN_3RD_PARTY_INCLUDE_DIRS "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/petscdir/petsc3.8/x86_64-linux-gnu-real/include;/usr/include/superlu-dist;/usr/include/hypre;/usr/include/suitesparse;/usr/include/superlu;/usr/include/scotch;/usr/include/hdf5/openmpi;")
+set(DOLFIN_3RD_PARTY_INCLUDE_DIRS "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include;/usr/lib/petscdir/petsc3.8/x86_64-linux-gnu-real/include;/usr/include/superlu-dist;/usr/include/hypre;/usr/include/suitesparse;/usr/include/superlu;/usr/include/scotch;/usr/include/hdf5/openmpi;")
 
 # Python variables
 if ("ON" AND "TRUE")
--- /tmp/DOLFINTargets.cmake	2018-04-13 16:40:19.260234464 +0200
+++ /usr/share/dolfin/cmake/DOLFINTargets.cmake	2018-04-13 16:37:52.096803585 +0200
@@ -55,9 +55,9 @@
 
 set_target_properties(dolfin PROPERTIES
   INTERFACE_COMPILE_DEFINITIONS "NDEBUG;DOLFIN_SIZE_T=8;DOLFIN_LA_INDEX_SIZE=4;HAS_HDF5;_FORTIFY_SOURCE=2;HAS_SLEPC;HAS_PETSC;HAS_PETSC4PY;HAS_UMFPACK;HAS_CHOLMOD;HAS_SCOTCH;HAS_ZLIB;HAS_MPI;DOLFIN_VERSION=\"2017.2.0\""
-  INTERFACE_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
+  INTERFACE_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
   INTERFACE_LINK_LIBRARIES "Boost::boost;Boost::timer;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;SLEPC::slepc;PETSC::petsc;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so"
-  INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/python2.7/dist-packages/petsc4py/include;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
+  INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/usr/include;/usr/include/eigen3;/usr/include/hdf5/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include"
 )
 
 if(CMAKE_VERSION VERSION_LESS 2.8.12)