Hi,

I am trying to build firedrake using intel compilers, mpi, and python. I 
compiled petsc using the following options, and petsc4py is installed by 
firedrake-install (see the compilation options below)

./configure     --with-mpi-dir=$MPI_HOME     --CFLAGS='-std=c11 -D_GNU_SOURCE'  
   --CXXFLAGS=''     --FFLAGS=''     --COPTFLAGS='-O3 -xCASCADELAKE -g'     
--FOPTFLAGS='-O3 -xCASCADELAKE -g'     --CXXOPTFLAGS='-O3 -xCASCADELAKE -g'     
--with-c++-support --with-c-support --with-fortran     
--with-fortran-bindings=0     --with-cxx-dialect=C++11     --download-ptscotch  
   
--download-hdf5=https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/hdf5-1.10.4.tar.bz2
     --download-hypre     --download-superlu_dist     --download-metis     
--download-parmetis     --download-scalapack     --download-mumps     
--download-chaco     --download-ml     
--download-eigen=https://github.com/eigenteam/eigen-git-mirror/archive/3.3.3.tar.gz
 --download-sowing=0


Here is what I get when trying to import petsc4py:
(firedrake) mef90:firedrake$ python3
Python 3.7.7 (default, Jun 26 2020, 05:10:03)
[GCC 7.3.0] :: Intel(R) Corporation on linux
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import petsc4py
>>> petsc4py.init()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
"/home/blaise/Development/firedrake/lib/python3.7/site-packages/petsc4py/__init__.py",
 line 42, in init
    PETSc = petsc4py.lib.ImportPETSc(arch)
  File 
"/home/blaise/Development/firedrake/lib/python3.7/site-packages/petsc4py/lib/__init__.py",
 line 29, in ImportPETSc
    return Import('petsc4py', 'PETSc', path, arch)
  File 
"/home/blaise/Development/firedrake/lib/python3.7/site-packages/petsc4py/lib/__init__.py",
 line 73, in Import
    module = import_module(pkg, name, path, arch)
  File 
"/home/blaise/Development/firedrake/lib/python3.7/site-packages/petsc4py/lib/__init__.py",
 line 58, in import_module
    with f: return imp.load_module(fullname, f, fn, info)
  File "/share/apps/intel-2020.2/intelpython3/lib/python3.7/imp.py", line 242, 
in load_module
    return load_dynamic(name, filename, file)
  File "/share/apps/intel-2020.2/intelpython3/lib/python3.7/imp.py", line 342, 
in load_dynamic
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake/PETSc.cpython-37m-x86_64-linux-gnu.so:
 undefined symbol: PetscPartitionerInitializePackage




The relevant part of the firedrake-install.log are below.

2020-08-27 12:48:23,861 INFO   Installing petsc4py/
2020-08-27 12:48:23,882 DEBUG  Running command 
'/home/blaise/Development/firedrake/bin/python -m pip install --no-binary 
mpi4py,randomgen,islpy --no-deps -vvv --ignore-installed petsc4py/'
2020-08-27 12:50:32,017 DEBUG  Using pip 20.2.2 from 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/pip (python 3.7)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-ephem-wheel-cache-5540399x
Created temporary directory: /tmp/pip-req-tracker-jo7ho6yz
Initialized build tracking at /tmp/pip-req-tracker-jo7ho6yz
Created build tracker: /tmp/pip-req-tracker-jo7ho6yz
Entered build tracker: /tmp/pip-req-tracker-jo7ho6yz
Created temporary directory: /tmp/pip-install-e3u5z76o
Processing ./petsc4py
  Created temporary directory: /tmp/pip-req-build-r3agmgty
  Added file:///home/blaise/Development/firedrake/src/petsc4py to build tracker 
'/tmp/pip-req-tracker-jo7ho6yz'
    Running setup.py (path:/tmp/pip-req-build-r3agmgty/setup.py) egg_info for 
package from file:///home/blaise/Development/firedrake/src/petsc4py
    Created temporary directory: /tmp/pip-pip-egg-info-dctmtwx0
    Running command python setup.py egg_info
    running egg_info
    creating /tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info
    writing /tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/PKG-INFO
    writing dependency_links to 
/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/dependency_links.txt
    writing requirements to 
/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/requires.txt
    writing top-level names to 
/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/top_level.txt
    writing manifest file 
'/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/SOURCES.txt'
    reading manifest file 
'/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 
'/tmp/pip-pip-egg-info-dctmtwx0/petsc4py.egg-info/SOURCES.txt'
  Source in /tmp/pip-req-build-r3agmgty has version 3.13.0, which satisfies 
requirement petsc4py==3.13.0 from 
file:///home/blaise/Development/firedrake/src/petsc4py
  Removed petsc4py==3.13.0 from 
file:///home/blaise/Development/firedrake/src/petsc4py from build tracker 
'/tmp/pip-req-tracker-jo7ho6yz'
Building wheels for collected packages: petsc4py
  Created temporary directory: /tmp/pip-wheel-0o0xldo2
  Building wheel for petsc4py (setup.py): started
  Destination directory: /tmp/pip-wheel-0o0xldo2
  Running command /home/blaise/Development/firedrake/bin/python -u -c 'import 
sys, setuptools, tokenize; sys.argv[0] = 
'"'"'/tmp/pip-req-build-r3agmgty/setup.py'"'"'; 
__file__='"'"'/tmp/pip-req-build-r3agmgty/setup.py'"'"';f=getattr(tokenize, 
'"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', 
'"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' 
bdist_wheel -d /tmp/pip-wheel-0o0xldo2
  running bdist_wheel
  running build
  running build_src
  cythonizing 'petsc4py.PETSc.pyx' -> 'petsc4py.PETSc.c'
  
/home/blaise/Development/firedrake/lib/python3.7/site-packages/Cython/Compiler/Main.py:369:
 FutureWarning: Cython directive 'language_level' not set, using 2 for now 
(Py2). This will change in a later release! File: include/petsc4py/PETSc.pxd
    tree = Parsing.p_module(s, pxd, full_module_name)
  cythonizing 'libpetsc4py/libpetsc4py.pyx' -> 'libpetsc4py/libpetsc4py.c'
  
/home/blaise/Development/firedrake/lib/python3.7/site-packages/Cython/Compiler/Main.py:369:
 FutureWarning: Cython directive 'language_level' not set, using 2 for now 
(Py2). This will change in a later release! File: 
/tmp/pip-req-build-r3agmgty/src/libpetsc4py/libpetsc4py.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.7
  creating build/lib.linux-x86_64-3.7/petsc4py
  copying src/PETSc.py -> build/lib.linux-x86_64-3.7/petsc4py
  copying src/__init__.py -> build/lib.linux-x86_64-3.7/petsc4py
  copying src/__main__.py -> build/lib.linux-x86_64-3.7/petsc4py
  creating build/lib.linux-x86_64-3.7/petsc4py/lib
  copying src/lib/__init__.py -> build/lib.linux-x86_64-3.7/petsc4py/lib
  creating build/lib.linux-x86_64-3.7/petsc4py/include
  creating build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/numpy.h -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/petsc4py.h -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/petsc4py.PETSc.h -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/petsc4py.PETSc_api.h -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/petsc4py.i -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/PETSc.pxd -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/__init__.pxd -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/include/petsc4py/__init__.pyx -> 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py
  copying src/PETSc.pxd -> build/lib.linux-x86_64-3.7/petsc4py
  copying src/lib/petsc.cfg -> build/lib.linux-x86_64-3.7/petsc4py/lib
  running build_ext
  PETSC_DIR:    /opt/HPC/petsc-maint
  PETSC_ARCH:   RHEL7-intel2020.2-impi-firedrake
  version:      3.13.4 release
  integer-size: 32-bit
  scalar-type:  real
  precision:    double
  language:     CONLY
  compiler:     
/share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc
  linker:       
/share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc
  building 'PETSc' extension
  creating build/temp.linux-x86_64-3.7
  creating build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake
  creating build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake/src
  /share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc 
-pthread -B /share/apps/intel-2020.2/intelpython3/compiler_compat 
-Wl,--sysroot=/ -std=c11 -D_GNU_SOURCE -fPIC -O3 -xCASCADELAKE -g -fPIC 
-L/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/lib 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include 
-I/share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/include 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include/eigen3 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include 
-I/opt/HPC/petsc-maint/include -Isrc/include 
-I/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include
 -I/home/blaise/Development/firedrake/include 
-I/share/apps/intel-2020.2/intelpython3/include/python3.7m -c src/PETSc.c -o 
build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake/src/PETSc.o
  In file included from 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h(12),
                   from 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h(4),
                   from src/include/petsc4py/numpy.h(11),
                   from src/petsc4py.PETSc.c(612),
                   from src/PETSc.c(4):
  
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h(84):
 warning #2650: attributes ignored here
                        NPY_CHAR NPY_ATTR_DEPRECATE("Use NPY_STRING"),
                                 ^

  In file included from src/petsc4py.PETSc.c(619),
                   from src/PETSc.c(4):
  src/include/initpkg.h(23): warning #266: function 
"PetscPartitionerInitializePackage" declared implicitly
      ierr = PetscPartitionerInitializePackage();CHKERRQ(ierr);
             ^

  In file included from src/PETSc.c(4):
  src/petsc4py.PETSc.c(294008): warning #266: function "PetscPartitionerReset" 
declared implicitly
      __pyx_t_1 = 
__pyx_f_8petsc4py_5PETSc_CHKERR(PetscPartitionerReset(__pyx_v_self->part)); if 
(unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(54, 55, __pyx_L1_error)
                                                  ^

  /share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc 
-pthread -B /share/apps/intel-2020.2/intelpython3/compiler_compat 
-Wl,--sysroot=/ -std=c11 -D_GNU_SOURCE -fPIC -O3 -xCASCADELAKE -g -fPIC 
-L/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/lib 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include 
-I/share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/include 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include/eigen3 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include 
-I/opt/HPC/petsc-maint/include -Isrc/include 
-I/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include
 -I/home/blaise/Development/firedrake/include 
-I/share/apps/intel-2020.2/intelpython3/include/python3.7m -c src/libpetsc4py.c 
-o 
build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake/src/libpetsc4py.o
  In file included from 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h(12),
                   from 
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h(4),
                   from src/include/petsc4py/numpy.h(11),
                   from src/libpetsc4py/libpetsc4py.c(612),
                   from src/libpetsc4py.c(6):
  
/home/blaise/Development/firedrake/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h(84):
 warning #2650: attributes ignored here
                        NPY_CHAR NPY_ATTR_DEPRECATE("Use NPY_STRING"),
                                 ^

  creating 
build/lib.linux-x86_64-3.7/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake
  /share/apps/intel-2020.2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc 
-pthread -B /share/apps/intel-2020.2/intelpython3/compiler_compat 
-Wl,--sysroot=/ -std=c11 -D_GNU_SOURCE -fPIC -O3 -xCASCADELAKE -g -shared 
-L/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/lib 
-I/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/include 
-L/share/apps/intel-2020.2/intelpython3/lib 
-Wl,-rpath=/share/apps/intel-2020.2/intelpython3/lib -Wl,--no-as-needed 
-Wl,--sysroot=/ 
build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake/src/PETSc.o 
build/temp.linux-x86_64-3.7/RHEL7-intel2020.2-impi-firedrake/src/libpetsc4py.o 
-L/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/lib 
-Wl,-rpath,/opt/HPC/petsc-maint/RHEL7-intel2020.2-impi-firedrake/lib -lpetsc -o 
build/lib.linux-x86_64-3.7/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake/PETSc.cpython-37m-x86_64-linux-gnu.so
  writing build/lib.linux-x86_64-3.7/petsc4py/lib/petsc.cfg
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/PETSc.py -> 
build/bdist.linux-x86_64/wheel/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/__init__.py -> 
build/bdist.linux-x86_64/wheel/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/__main__.py -> 
build/bdist.linux-x86_64/wheel/petsc4py
  creating build/bdist.linux-x86_64/wheel/petsc4py/lib
  copying build/lib.linux-x86_64-3.7/petsc4py/lib/__init__.py -> 
build/bdist.linux-x86_64/wheel/petsc4py/lib
  copying build/lib.linux-x86_64-3.7/petsc4py/lib/petsc.cfg -> 
build/bdist.linux-x86_64/wheel/petsc4py/lib
  creating 
build/bdist.linux-x86_64/wheel/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake
  copying 
build/lib.linux-x86_64-3.7/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake/PETSc.cpython-37m-x86_64-linux-gnu.so
 -> build/bdist.linux-x86_64/wheel/petsc4py/lib/RHEL7-intel2020.2-impi-firedrake
  creating build/bdist.linux-x86_64/wheel/petsc4py/include
  creating build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/numpy.h -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/petsc4py.h -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/petsc4py.PETSc.h 
-> build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying 
build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/petsc4py.PETSc_api.h -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/petsc4py.i -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/PETSc.pxd -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/__init__.pxd -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/include/petsc4py/__init__.pyx -> 
build/bdist.linux-x86_64/wheel/petsc4py/include/petsc4py
  copying build/lib.linux-x86_64-3.7/petsc4py/PETSc.pxd -> 
build/bdist.linux-x86_64/wheel/petsc4py
  running install_egg_info
  running egg_info
  creating petsc4py.egg-info
  writing petsc4py.egg-info/PKG-INFO
  writing dependency_links to petsc4py.egg-info/dependency_links.txt
  writing requirements to petsc4py.egg-info/requires.txt
  writing top-level names to petsc4py.egg-info/top_level.txt
  writing manifest file 'petsc4py.egg-info/SOURCES.txt'
  reading manifest file 'petsc4py.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'petsc4py.egg-info/SOURCES.txt'
  Copying petsc4py.egg-info to 
build/bdist.linux-x86_64/wheel/petsc4py-3.13.0-py3.7.egg-info
  running install_scripts
  adding license file "LICENSE.rst" (matched pattern "LICEN[CS]E*")
  creating build/bdist.linux-x86_64/wheel/petsc4py-3.13.0.dist-info/WHEEL
  creating 
'/tmp/pip-wheel-0o0xldo2/petsc4py-3.13.0-cp37-cp37m-linux_x86_64.whl' and 
adding 'build/bdist.linux-x86_64/wheel' to it
  adding 'petsc4py/PETSc.pxd'
  adding 'petsc4py/PETSc.py'
  adding 'petsc4py/__init__.py'
  adding 'petsc4py/__main__.py'
  adding 'petsc4py/include/petsc4py/PETSc.pxd'
  adding 'petsc4py/include/petsc4py/__init__.pxd'
  adding 'petsc4py/include/petsc4py/__init__.pyx'
  adding 'petsc4py/include/petsc4py/numpy.h'
  adding 'petsc4py/include/petsc4py/petsc4py.PETSc.h'
  adding 'petsc4py/include/petsc4py/petsc4py.PETSc_api.h'
  adding 'petsc4py/include/petsc4py/petsc4py.h'
  adding 'petsc4py/include/petsc4py/petsc4py.i'
  adding 'petsc4py/lib/__init__.py'
  adding 'petsc4py/lib/petsc.cfg'
  adding 
'petsc4py/lib/RHEL7-intel2020.2-impi-firedrake/PETSc.cpython-37m-x86_64-linux-gnu.so'
  adding 'petsc4py-3.13.0.dist-info/LICENSE.rst'
  adding 'petsc4py-3.13.0.dist-info/METADATA'
  adding 'petsc4py-3.13.0.dist-info/WHEEL'
  adding 'petsc4py-3.13.0.dist-info/top_level.txt'
  adding 'petsc4py-3.13.0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Building wheel for petsc4py (setup.py): finished with status 'done'
  Created wheel for petsc4py: 
filename=petsc4py-3.13.0-cp37-cp37m-linux_x86_64.whl size=4287046 
sha256=95604a089946004038f4268d38948c35a5372a2cedaa9df21e354d68231cb99a
  Stored in directory: 
/tmp/pip-ephem-wheel-cache-5540399x/wheels/88/a6/a9/78aff17157d1fedc3a047afc3f1c84462e68ea89775758cd2e
Successfully built petsc4py
Installing collected packages: petsc4py

Successfully installed petsc4py-3.13.0
Removed build tracker: '/tmp/pip-req-tracker-jo7ho6yz'


Any idea?

Blaise


--
A.K. & Shirley Barton Professor of  Mathematics
Adjunct Professor of Mechanical Engineering
Adjunct of the Center for Computation & Technology
Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 Web 
http://www.math.lsu.edu/~bourdin

Reply via email to