Build failure with Anaconda on Ubuntu 16.04

Issue #75 resolved
hmgaudecker created an issue

Hi,

Not sure whether this is the right place or somewhere else... Trying to install petsc4py via pip or the the development version, both fail with the error below.

  • I am working with a custom environment under the latest miniconda 3 (downloaded today)
  • Ubuntu 16.04, gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) installed at /usr/bin/gcc.
  • PETSc itself installs fine.
  • Everything worked like a charm for previous versions combinations of petsc/petsc4py / miniconda.

Right spot here or should I look somewhere else for help? Thanks!

(struct-ret) xxx@yyy:/media/zzz/struct-ret$ pip install --no-deps git+https://bitbucket.org/petsc/petsc4py
Collecting git+https://bitbucket.org/petsc/petsc4py
  Cloning https://bitbucket.org/petsc/petsc4py to /tmp/pip-g49vaoe6-build
Installing collected packages: petsc4py
  Running setup.py install for petsc4py ... error
    Complete output from command /home/xxx/miniconda3/envs/struct-ret/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-g49vaoe6-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-j820h4fp-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_src
    cythonizing 'petsc4py.PETSc.pyx' -> 'petsc4py.PETSc.c'
    cythonizing 'libpetsc4py/libpetsc4py.pyx' -> 'libpetsc4py/libpetsc4py.c'
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    creating build/lib.linux-x86_64-3.6/petsc4py
    copying src/PETSc.py -> build/lib.linux-x86_64-3.6/petsc4py
    copying src/__main__.py -> build/lib.linux-x86_64-3.6/petsc4py
    copying src/__init__.py -> build/lib.linux-x86_64-3.6/petsc4py
    creating build/lib.linux-x86_64-3.6/petsc4py/lib
    copying src/lib/__init__.py -> build/lib.linux-x86_64-3.6/petsc4py/lib
    creating build/lib.linux-x86_64-3.6/petsc4py/include
    creating build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/petsc4py.h -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/petsc4py.PETSc.h -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/petsc4py.PETSc_api.h -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/numpy.h -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/petsc4py.i -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/__init__.pxd -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/PETSc.pxd -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/include/petsc4py/__init__.pyx -> build/lib.linux-x86_64-3.6/petsc4py/include/petsc4py
    copying src/PETSc.pxd -> build/lib.linux-x86_64-3.6/petsc4py
    copying src/lib/petsc.cfg -> build/lib.linux-x86_64-3.6/petsc4py/lib
    running build_ext
    PETSC_DIR:    /home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc
    PETSC_ARCH:
    version:      3.8.0 development
    integer-size: 32-bit
    scalar-type:  real
    precision:    double
    language:     CONLY
    compiler:     /usr/bin/mpicc
    linker:       /usr/bin/mpicc
    building 'PETSc' extension
    creating build/temp.linux-x86_64-3.6
    creating build/temp.linux-x86_64-3.6/src
    /usr/bin/mpicc -pthread -B /home/xxx/miniconda3/envs/struct-ret/compiler_compat -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -g -O -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DPETSC_DIR=/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc -I/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc/include -Isrc/include -I/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/numpy/core/include -I/home/xxx/miniconda3/envs/struct-ret/include/python3.6m -c src/PETSc.c -o build/temp.linux-x86_64-3.6/src/PETSc.o
    /usr/bin/mpicc -pthread -B /home/xxx/miniconda3/envs/struct-ret/compiler_compat -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -g -O -fPIC -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DPETSC_DIR=/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc -I/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc/include -Isrc/include -I/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/numpy/core/include -I/home/xxx/miniconda3/envs/struct-ret/include/python3.6m -c src/libpetsc4py.c -o build/temp.linux-x86_64-3.6/src/libpetsc4py.o
    /usr/bin/mpicc -pthread -B /home/xxx/miniconda3/envs/struct-ret/compiler_compat -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -g -O gcc -pthread -shared -B /home/xxx/miniconda3/envs/struct-ret/compiler_compat -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -L/home/xxx/miniconda3/envs/struct-ret/lib -Wl,-rpath=/home/xxx/miniconda3/envs/struct-ret/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.6/src/PETSc.o build/temp.linux-x86_64-3.6/src/libpetsc4py.o -L/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc/lib -L/home/xxx/miniconda3/envs/struct-ret/lib -Wl,--enable-new-dtags,-R/home/xxx/miniconda3/envs/struct-ret/lib/python3.6/site-packages/petsc/lib -Wl,--enable-new-dtags,-R/home/xxx/miniconda3/envs/struct-ret/lib -lpetsc -lpython3.6m -o build/lib.linux-x86_64-3.6/petsc4py/lib/PETSc.cpython-36m-x86_64-linux-gnu.so
    gcc: error: gcc: No such file or directory
    error: command '/usr/bin/mpicc' failed with exit status 1

Comments (5)

  1. Lisandro Dalcin

    This is likely Anaconda Python playing non standard tricks with compiler configuration. The final link line has a bogus "gcc" in the middle.

  2. Log in to comment