Can not install on CentOS7

Issue #49 resolved
amarchaudhari created an issue
Collecting mpi4py
  Using cached mpi4py-2.0.0.tar.gz
Installing collected packages: mpi4py
  Running setup.py install for mpi4py ... error
    Complete output from command /curc/tools/virtualenv/jupyterhubenv/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9xniuu1o/mpi4py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-mnhb0poj-record/install-record.txt --single-version-externally-managed --compile --install-headers /curc/tools/virtualenv/jupyterhubenv/include/site/python3.4/mpi4py:
    running install
    running build
    running build_src
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.4
    creating build/lib.linux-x86_64-3.4/mpi4py
    copying src/__main__.py -> build/lib.linux-x86_64-3.4/mpi4py
    copying src/__init__.py -> build/lib.linux-x86_64-3.4/mpi4py
    creating build/lib.linux-x86_64-3.4/mpi4py/include
    creating build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/mpi4py.h -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/mpi4py.MPI.h -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/mpi4py.MPI_api.h -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/__init__.pxd -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/MPI.pxd -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/libmpi.pxd -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/__init__.pyx -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/mpi.pxi -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/include/mpi4py/mpi4py.i -> build/lib.linux-x86_64-3.4/mpi4py/include/mpi4py
    copying src/MPI.pxd -> build/lib.linux-x86_64-3.4/mpi4py
    copying src/libmpi.pxd -> build/lib.linux-x86_64-3.4/mpi4py
    running build_clib
    MPI configuration: [mpi] from 'mpi.cfg'
    checking for library 'lmpe' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -llmpe -o _configtest
    /usr/bin/ld: cannot find -llmpe
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    building 'mpe' dylib library
    creating build/temp.linux-x86_64-3.4
    creating build/temp.linux-x86_64-3.4/src
    creating build/temp.linux-x86_64-3.4/src/lib-pmpi
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c src/lib-pmpi/mpe.c -o build/temp.linux-x86_64-3.4/src/lib-pmpi/mpe.o
    creating build/lib.linux-x86_64-3.4/mpi4py/lib-pmpi
    gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-3.4/src/lib-pmpi/mpe.o -o build/lib.linux-x86_64-3.4/mpi4py/lib-pmpi/libmpe.so
    checking for library 'vt-mpi' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt-mpi -o _configtest
    /usr/bin/ld: cannot find -lvt-mpi
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    checking for library 'vt.mpi' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt.mpi -o _configtest
    /usr/bin/ld: cannot find -lvt.mpi
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    building 'vt' dylib library
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c src/lib-pmpi/vt.c -o build/temp.linux-x86_64-3.4/src/lib-pmpi/vt.o
    gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-3.4/src/lib-pmpi/vt.o -o build/lib.linux-x86_64-3.4/mpi4py/lib-pmpi/libvt.so
    checking for library 'vt-mpi' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt-mpi -o _configtest
    /usr/bin/ld: cannot find -lvt-mpi
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    checking for library 'vt.mpi' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt.mpi -o _configtest
    /usr/bin/ld: cannot find -lvt.mpi
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    building 'vt-mpi' dylib library
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c src/lib-pmpi/vt-mpi.c -o build/temp.linux-x86_64-3.4/src/lib-pmpi/vt-mpi.o
    gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-3.4/src/lib-pmpi/vt-mpi.o -o build/lib.linux-x86_64-3.4/mpi4py/lib-pmpi/libvt-mpi.so
    checking for library 'vt-hyb' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt-hyb -o _configtest
    /usr/bin/ld: cannot find -lvt-hyb
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    checking for library 'vt.ompi' ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o
    gcc -pthread _configtest.o -lvt.ompi -o _configtest
    /usr/bin/ld: cannot find -lvt.ompi
    collect2: error: ld returned 1 exit status
    failure.
    removing: _configtest.c _configtest.o
    building 'vt-hyb' dylib library
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c src/lib-pmpi/vt-hyb.c -o build/temp.linux-x86_64-3.4/src/lib-pmpi/vt-hyb.o
    gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-3.4/src/lib-pmpi/vt-hyb.o -o build/lib.linux-x86_64-3.4/mpi4py/lib-pmpi/libvt-hyb.so
    running build_ext
    MPI configuration: [mpi] from 'mpi.cfg'
    checking for MPI compile and link ...
    gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/curc/tools/virtualenv/jupyterhubenv/include -I/usr/include/python3.4m -c _configtest.c -o _configtest.o
    _configtest.c:2:17: fatal error: mpi.h: No such file or directory
     #include <mpi.h>
                     ^
    compilation terminated.
    failure.
    removing: _configtest.c _configtest.o
    error: Cannot compile MPI programs. Check your configuration!!!

    ----------------------------------------
Command "/curc/tools/virtualenv/jupyterhubenv/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9xniuu1o/mpi4py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-mnhb0poj-record/install-record.txt --single-version-externally-managed --compile --install-headers /curc/tools/virtualenv/jupyterhubenv/include/site/python3.4/mpi4py" failed with error code 1 in /tmp/pip-build-9xniuu1o/mpi4py/

I get the above error while install mpi4py on centos 7
I tried installing mpi4py-mpich but the error persists.

Comments (3)

  1. Lisandro Dalcin

    You need to module load mpi/mpich-x86_64 (or module load mpi/openmpi-x86_64 is you are using Open MPI). I recommend to install the "mpi4py-mpich", then execute module load mpi/mpich-x86_64 in a terminal, next try any example using mpi4py. Additional, you can dnf install mpich-autoload, that way the MPICH module will be preloaded for your convenience.

  2. amarchaudhari reporter

    @dalcinl
    Thanks for the suggestions !
    I had installed openmp. However, the problem was that puppet was not able to find the header files.
    I fixed it by including the path to openmpi files in the enviornement variable.

    environment   => 'PATH=/usr/lib64/openmpi/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/include/openmpi-x86_64/',
    
  3. Log in to comment