Can't install petsc4py for python3 on macOS 10.15.4

Issue #139 resolved
Ananya Bijaya created an issue

Hi,

I was able to install petsc manually, however I am unable to install petsc4py using pip3 or directly through

setup.py for python3. I am getting the attached error message after entering “pip3 install petsc4py” command:     

How do I resolve this issue?

Thanks,

Ananya


Collecting petsc4py

Using cached https://files.pythonhosted.org/packages/7c/e7/5b089013c5188ee5f619ad64749fc3e6355943950dfcf421c327d66ee2ac/petsc4py-3.13.0.tar.gz

Requirement already satisfied: numpy in /Library/Python/3.7/site-packages (from petsc4py) (1.18.3)

Building wheels for collected packages: petsc4py

Building wheel for petsc4py (setup.py) ... error

Complete output from command /Applications/Xcode.app/Contents/Developer/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-install-gj7g_y0f/petsc4py/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 /private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-wheel-tgs39xrs --python-tag cp37:

running bdist_wheel

running build

running build_src

running build_py

creating build

creating build/lib.macosx-10.14-x86_64-3.7

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/PETSc.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/__main__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

copying src/lib/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/include

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/numpy.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.PETSc.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.PETSc_api.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.i -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/PETSc.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/__init__.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/__init__.pyx -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/PETSc.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/lib/petsc.cfg -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

running build_ext

PETSC_DIR:    /Users/ananyabijaya/petsc-3.13.0

PETSC_ARCH:   mac-gnu-debug

version:      3.13.0 release

integer-size: 32-bit

scalar-type:  real

precision:    double

language:     CONLY

compiler:     gcc

linker:       gcc

building 'PETSc' extension

creating build/temp.macosx-10.14-x86_64-3.7

creating build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug

creating build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug/src

gcc -sdk macosx clang -arch x86_64 -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fno-stack-check -Qunused-arguments -g3 -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers -I/Users/ananyabijaya/petsc-3.13.0/mac-gnu-debug/include -I/Users/ananyabijaya/petsc-3.13.0/include -Isrc/include -I/Library/Python/3.7/site-packages/numpy/core/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/include/python3.7m -c src/PETSc.c -o build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug/src/PETSc.o

clang: error: unknown argument: '-sdk'

clang: error: no such file or directory: 'macosx'

clang: error: no such file or directory: 'clang'

error: command 'gcc' failed with exit status 1

Failed building wheel for petsc4py

Running setup.py clean for petsc4py

Failed to build petsc4py

Installing collected packages: petsc4py

Running setup.py install for petsc4py ... error

Complete output from command /Applications/Xcode.app/Contents/Developer/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-install-gj7g_y0f/petsc4py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-record-l8u7hi_6/install-record.txt --single-version-externally-managed --compile:

running install

running build

running build_src

running build_py

creating build

creating build/lib.macosx-10.14-x86_64-3.7

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/PETSc.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/__main__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

copying src/lib/__init__.py -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/include

creating build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/numpy.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.PETSc.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.PETSc_api.h -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/petsc4py.i -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/PETSc.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/__init__.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/include/petsc4py/__init__.pyx -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/include/petsc4py

copying src/PETSc.pxd -> build/lib.macosx-10.14-x86_64-3.7/petsc4py

copying src/lib/petsc.cfg -> build/lib.macosx-10.14-x86_64-3.7/petsc4py/lib

running build_ext

PETSC_DIR:    /Users/ananyabijaya/petsc-3.13.0

PETSC_ARCH:   mac-gnu-debug

version:      3.13.0 release

integer-size: 32-bit

scalar-type:  real

precision:    double

language:     CONLY

compiler:     gcc

linker:       gcc

building 'PETSc' extension

creating build/temp.macosx-10.14-x86_64-3.7

creating build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug

creating build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug/src

gcc -sdk macosx clang -arch x86_64 -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -fstack-protector -fno-stack-check -Qunused-arguments -g3 -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers -I/Users/ananyabijaya/petsc-3.13.0/mac-gnu-debug/include -I/Users/ananyabijaya/petsc-3.13.0/include -Isrc/include -I/Library/Python/3.7/site-packages/numpy/core/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/include/python3.7m -c src/PETSc.c -o build/temp.macosx-10.14-x86_64-3.7/mac-gnu-debug/src/PETSc.o

clang: error: unknown argument: '-sdk'

clang: error: no such file or directory: 'macosx'

clang: error: no such file or directory: 'clang'

error: command 'gcc' failed with exit status 1

Command "/Applications/Xcode.app/Contents/Developer/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-install-gj7g_y0f/petsc4py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-record-l8u7hi_6/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/bt/vqpcwrcj1bv10dg0nwk3txwc0000gn/T/pip-install-gj7g_y0f/petsc4py/

Comments (4)

  1. Lisandro Dalcin

    Well, your PETSc was built with GCC, but your (system, Apple provided?) Python was likely built with clang. Then Python distutils is passing clang flags that GCC cannot understand.

    You can try something like

    CFLAGS=-O3 pip install petsc4py
    

    but I do not promise it will work.

  2. Log in to comment