Build failure with Anaconda on Ubuntu 16.04
Issue #75
resolved
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)
-
-
Could you try to
export LDSHARED=-shared
and thenpip install ...
again? -
-
assigned issue to
-
assigned issue to
-
- changed status to resolved
Fixed in af79264.
-
reporter Thanks for the quick fix! Works perfectly!
- Log in to comment
This is likely Anaconda Python playing non standard tricks with compiler configuration. The final link line has a bogus "gcc" in the middle.