[petsc-users] Trouble installing petsc4py in Anaconda environment

Matthew Knepley knepley at gmail.com
Wed Oct 11 21:19:39 CDT 2017


On Wed, Oct 11, 2017 at 10:13 PM, William T. Jones <w.t.jones at nasa.gov>
wrote:

> On 10/11/17 7:06 PM, Matthew Knepley wrote:
>
>> On Wed, Oct 11, 2017 at 5:29 PM, William T Jones <w.t.jones at nasa.gov
>> <mailto:w.t.jones at nasa.gov>> wrote:
>>
>>     I have created an Anaconda Pytyoh 2.7 environment on an SGI-ICE
>>     machine and included cython, numpy=1.12, scipy, and mpi4py (based
>>     SGI-MPT). While petsc installs fine with:
>>
>>     % PETSC_CONFIGURE_OPTIONS="--download-fblaslapack=1" pip install
>>     https://bitbucket.org/petsc/petsc/get/maint.tar.gz
>>     <https://bitbucket.org/petsc/petsc/get/maint.tar.gz>
>>
>>     I cannot get petsc4py to build/install.  I am attempting with:
>>
>>     % export
>>     PETSC_DIR=${PREFIX}/envs/myenv/lib/python2.7/site-packages/petsc
>>     % pip install --no-dependencies petsc4py
>>
>>     Note, I am using "--no-dependencies" because I want to leave numpy
>>     at 1.12 and do not want it to be upgraded.  Either way I get the
>>     output below.  It appears that the link command has been corrupted
>>     with the addition of the "gcc" command in the middle of the link
>>     command.
>>
>>
>> /vendor/sgi/mpt/2.14r19/bin/mpicc is being called. Does this actually
>> work? I would suspect it of calling 'gcc'
>>
>>
> Matt, Thanks for the response.
>
> Yes, `/vendor/sgi/mpt/2.14r19/bin/mpicc` is a compiler wrapper that
> ultimately calls gcc.  The problem is that in the middle of the link line
> there is an extraneous "...-fstack-protector -g -O gcc -pthread -shared
> -B...".  From the error message, it is this embedded "gcc" that is the
> problem.
>
> I cannot see where petsc4py gets its compiler and linker commands.  It
> would appear that they come from petsc.


I would not have that interpretation. This is because the build outputs the
Petsc information underneath PETSC_ARCH
and it shows the compiler and linker given to it. Neither has 'gcc' in it.
You could grep the files in

 $PETSC_DIR/$PETSC_ARCH/lib/petsc/conf

for 'gcc', but i suspect it will not be there.

  Thanks,

     Matt


>   Again, it appears that the link line is being constructed
> inappropriately.
>
>     Matt
>>
>>     Any help is appreciated,
>>
>>
>>     % pip install --no-dependencies petsc4py
>>     Collecting petsc4py
>>        Using cached petsc4py-3.8.0.tar.gz
>>     Building wheels for collected packages: petsc4py
>>        Running setup.py bdist_wheel for petsc4py ... error
>>        Complete output from command
>>     /home/login/anaconda2/envs/myenv/bin/python -u -c "import
>>     setuptools,
>>     tokenize;__file__='/tmp/pip-build-v6lDIk/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 /tmp/tmpD2KqLjpip-wheel- --python-tag cp27:
>>        running bdist_wheel
>>        running build
>>        running build_src
>>        running build_py
>>        creating build
>>        creating build/lib.linux-x86_64-2.7
>>        creating build/lib.linux-x86_64-2.7/petsc4py
>>        copying src/PETSc.py -> build/lib.linux-x86_64-2.7/petsc4py
>>        copying src/__init__.py -> build/lib.linux-x86_64-2.7/petsc4py
>>        copying src/__main__.py -> build/lib.linux-x86_64-2.7/petsc4py
>>        creating build/lib.linux-x86_64-2.7/petsc4py/lib
>>        copying src/lib/__init__.py ->
>>     build/lib.linux-x86_64-2.7/petsc4py/lib
>>        creating build/lib.linux-x86_64-2.7/petsc4py/include
>>        creating build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/petsc4py.PETSc.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/numpy.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/petsc4py.PETSc_api.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/petsc4py.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/petsc4py.i ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/__init__.pxd ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/PETSc.pxd ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/include/petsc4py/__init__.pyx ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>        copying src/PETSc.pxd -> build/lib.linux-x86_64-2.7/petsc4py
>>        copying src/lib/petsc.cfg -> build/lib.linux-x86_64-2.7/pet
>> sc4py/lib
>>        running build_ext
>>        PETSC_DIR:
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages/petsc
>>        PETSC_ARCH:
>>        version:      3.8.0 release
>>        integer-size: 32-bit
>>        scalar-type:  real
>>        precision:    double
>>        language:     CONLY
>>        compiler:     /vendor/sgi/mpt/2.14r19/bin/mpicc
>>        linker:       /vendor/sgi/mpt/2.14r19/bin/mpicc
>>        building 'PETSc' extension
>>        creating build/temp.linux-x86_64-2.7
>>        creating build/temp.linux-x86_64-2.7/src
>>        /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG
>>     -g -fwrapv -O3 -Wall
>>     -DPETSC_DIR=/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/include
>>     -Isrc/include
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/numpy/core/include
>>     -I/home/login/anaconda2/envs/myenv/include/python2.7 -c src/PETSc.c
>>     -o build/temp.linux-x86_64-2.7/src/PETSc.o
>>        In file included from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/ndarraytypes.h:1788:0,
>>
>>                         from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/ndarrayobject.h:18,
>>
>>                         from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/arrayobject.h:4,
>>
>>                         from src/include/petsc4py/numpy.h:11,
>>                         from src/petsc4py.PETSc.c:519,
>>                         from src/PETSc.c:3:
>>
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
>>     warning: #warning "Using deprecated NumPy API, disable it by "
>>     "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>>         #warning "Using deprecated NumPy API, disable it by " \
>>          ^
>>        /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG
>>     -g -fwrapv -O3 -Wall
>>     -DPETSC_DIR=/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/include
>>     -Isrc/include
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/numpy/core/include
>>     -I/home/login/anaconda2/envs/myenv/include/python2.7 -c
>>     src/libpetsc4py.c -o build/temp.linux-x86_64-2.7/src/libpetsc4py.o
>>        /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O gcc -pthread -shared -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat
>>     -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
>>     -L/home/login/anaconda2/envs/myenv/lib
>>     -Wl,-rpath=/home/login/anaconda2/envs/myenv/lib -Wl,--no-as-needed
>>     -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/src/PETSc.o
>>     build/temp.linux-x86_64-2.7/src/libpetsc4py.o
>>     -L/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/lib
>>     -L/home/login/anaconda2/envs/myenv/lib
>>     -Wl,-rpath,/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc/lib
>>     -Wl,-rpath,/home/login/anaconda2/envs/myenv/lib -lpetsc -lpython2.7
>>     -o build/lib.linux-x86_64-2.7/petsc4py/lib/PETSc.so
>>        gcc: error: gcc: No such file or directory
>>        error: command '/vendor/sgi/mpt/2.14r19/bin/mpicc' 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
>>     /home/login/anaconda2/envs/myenv/bin/python -u -c "import
>>     setuptools,
>>     tokenize;__file__='/tmp/pip-build-v6lDIk/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 /tmp/pip-d6NYW8-record/install-record.txt
>>     --single-version-externally-managed --compile:
>>          running install
>>          running build
>>          running build_src
>>          running build_py
>>          creating build
>>          creating build/lib.linux-x86_64-2.7
>>          creating build/lib.linux-x86_64-2.7/petsc4py
>>          copying src/PETSc.py -> build/lib.linux-x86_64-2.7/petsc4py
>>          copying src/__init__.py -> build/lib.linux-x86_64-2.7/petsc4py
>>          copying src/__main__.py -> build/lib.linux-x86_64-2.7/petsc4py
>>          creating build/lib.linux-x86_64-2.7/petsc4py/lib
>>          copying src/lib/__init__.py ->
>>     build/lib.linux-x86_64-2.7/petsc4py/lib
>>          creating build/lib.linux-x86_64-2.7/petsc4py/include
>>          creating build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/petsc4py.PETSc.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/numpy.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/petsc4py.PETSc_api.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/petsc4py.h ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/petsc4py.i ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/__init__.pxd ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/PETSc.pxd ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/include/petsc4py/__init__.pyx ->
>>     build/lib.linux-x86_64-2.7/petsc4py/include/petsc4py
>>          copying src/PETSc.pxd -> build/lib.linux-x86_64-2.7/petsc4py
>>          copying src/lib/petsc.cfg ->
>>     build/lib.linux-x86_64-2.7/petsc4py/lib
>>          running build_ext
>>          PETSC_DIR:
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages/petsc
>>          PETSC_ARCH:
>>          version:      3.8.0 release
>>          integer-size: 32-bit
>>          scalar-type:  real
>>          precision:    double
>>          language:     CONLY
>>          compiler:     /vendor/sgi/mpt/2.14r19/bin/mpicc
>>          linker:       /vendor/sgi/mpt/2.14r19/bin/mpicc
>>          building 'PETSc' extension
>>          creating build/temp.linux-x86_64-2.7
>>          creating build/temp.linux-x86_64-2.7/src
>>          /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG
>>     -g -fwrapv -O3 -Wall
>>     -DPETSC_DIR=/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/include
>>     -Isrc/include
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/numpy/core/include
>>     -I/home/login/anaconda2/envs/myenv/include/python2.7 -c src/PETSc.c
>>     -o build/temp.linux-x86_64-2.7/src/PETSc.o
>>          In file included from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/ndarraytypes.h:1788:0,
>>
>>                           from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/ndarrayobject.h:18,
>>
>>                           from
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/arrayobject.h:4,
>>
>>                           from src/include/petsc4py/numpy.h:11,
>>                           from src/petsc4py.PETSc.c:519,
>>                           from src/PETSc.c:3:
>>
>>     /home/login/anaconda2/envs/myenv/lib/python2.7/site-packages
>> /numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2:
>>     warning: #warning "Using deprecated NumPy API, disable it by "
>>     "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>>           #warning "Using deprecated NumPy API, disable it by " \
>>            ^
>>          /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG
>>     -g -fwrapv -O3 -Wall
>>     -DPETSC_DIR=/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/include
>>     -Isrc/include
>>     -I/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/numpy/core/include
>>     -I/home/login/anaconda2/envs/myenv/include/python2.7 -c
>>     src/libpetsc4py.c -o build/temp.linux-x86_64-2.7/src/libpetsc4py.o
>>          /vendor/sgi/mpt/2.14r19/bin/mpicc -pthread -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat -fPIC -Wall
>>     -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas
>>     -fstack-protector -g -O gcc -pthread -shared -B
>>     /home/login/anaconda2/envs/myenv/compiler_compat
>>     -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall
>>     -L/home/login/anaconda2/envs/myenv/lib
>>     -Wl,-rpath=/home/login/anaconda2/envs/myenv/lib -Wl,--no-as-needed
>>     -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/src/PETSc.o
>>     build/temp.linux-x86_64-2.7/src/libpetsc4py.o
>>     -L/home/login/anaconda2/envs/myenv/lib/python2.7/site-packag
>> es/petsc/lib
>>     -L/home/login/anaconda2/envs/myenv/lib
>>     -Wl,-rpath,/home/login/anaconda2/envs/myenv/lib/python2.7/
>> site-packages/petsc/lib
>>     -Wl,-rpath,/home/login/anaconda2/envs/myenv/lib -lpetsc -lpython2.7
>>     -o build/lib.linux-x86_64-2.7/petsc4py/lib/PETSc.so
>>          gcc: error: gcc: No such file or directory
>>          error: command '/vendor/sgi/mpt/2.14r19/bin/mpicc' failed with
>>     exit status 1
>>
>>          ----------------------------------------
>>     Command "/home/login/anaconda2/envs/myenv/bin/python -u -c "import
>>     setuptools,
>>     tokenize;__file__='/tmp/pip-build-v6lDIk/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 /tmp/pip-d6NYW8-record/install-record.txt
>>     --single-version-externally-managed --compile" failed with error
>>     code 1 in /tmp/pip-build-v6lDIk/petsc4py/
>>
>>
>>     --     =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> -=-=-=-=-=-=-
>>
>>          Bill Jones W.T.JONES at NASA.GOV <mailto:W.T.JONES at NASA.GOV>
>>          Mail Stop 128                     Computational AeroSciences
>> Branch
>>          15 Langley Boulevard                           Research
>> Directorate
>>          NASA Langley Research Center               Building 1268, Room
>> 1044
>>          Hampton, VA  23681-2199                       Phone +1 757
>>     864-5318 <tel:%2B1%20757%20864-5318>
>>                                                          Fax +1 757
>>     864-8816 <tel:%2B1%20757%20864-8816>
>>     http://fun3d.larc.nasa.gov
>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>> https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
>>
>
> --
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
>     Bill Jones                                        W.T.JONES at NASA.GOV
>     Mail Stop 128                      Computational AeroSciences Branch
>     15 Langley Boulevard                            Research Directorate
>     NASA Langley Research Center                Building 1268, Room 1060
>     Hampton, VA  23681-2199                        Phone +1 757 864-5318
>                                                      Fax +1 757 864-8816
>                                               http://fun3d.larc.nasa.gov
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20171011/b1fb492a/attachment-0001.html>


More information about the petsc-users mailing list