How to install matplotlib on PyPy7.2.0 and Centos7?

0

While matplotlib is unsupported with the version 2 of PyPy, it’s now officially supported from PyPy5.4 and above (stated can be installed and run normally).

So I set up a fresh Centos distribution from a Google container image. Installed gcc and required libariries using only yum. Installed PyPy 7.2.0 using official binaries (without compiling anything) without doing anything else (not even definning CFLAGS and CC) and:

[ed25519-key-20190822@instance-1 ~]$ pypy3 -m pip install matplotlib
Collecting matplotlib
  Using cached https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    ================================================================================
    Edit setup.cfg to change the build options

    BUILDING MATPLOTLIB
      matplotlib: yes [3.1.1]
          python: yes [3.6.9 (5da45ced70e5, Oct 09 2019, 19:12:54) [PyPy 7.2.0 with
                      GCC 6.2.0 20160901]]
        platform: yes [linux]

    OPTIONAL SUBPACKAGES
     sample_data: yes [installing]
           tests: no  [skipping due to configuration]

    OPTIONAL BACKEND EXTENSIONS
             agg: yes [installing]
           tkagg: yes [installing; run-time loading from Python Tcl/Tk]
          macosx: no  [Mac OS-X only]

    OPTIONAL PACKAGE DATA
            dlls: no  [skipping due to configuration]

    non-existing path in 'numpy/distutils': 'site.cfg'

    File: build/src.linux-x86_64-3.6/numpy/core/include/numpy/config.h
    #define HAVE_ENDIAN_H 1
    #define SIZEOF_PY_INTPTR_T 8
    #define SIZEOF_OFF_T 8
    #define SIZEOF_PY_LONG_LONG 8
    #define MATHLIB m
    #define HAVE_SIN 1
    #define HAVE_COS 1
    #define HAVE_TAN 1
    #define HAVE_SINH 1
    #define HAVE_COSH 1
    #define HAVE_TANH 1
    #define HAVE_FABS 1
    #define HAVE_FLOOR 1
    #define HAVE_CEIL 1
    #define HAVE_SQRT 1
    #define HAVE_LOG10 1
    #define HAVE_LOG 1
    #define HAVE_EXP 1
    #define HAVE_ASIN 1
    #define HAVE_ACOS 1
    #define HAVE_ATAN 1
    #define HAVE_FMOD 1
    #define HAVE_MODF 1
    #define HAVE_FREXP 1
    #define HAVE_LDEXP 1
    #define HAVE_EXPM1 1
    #define HAVE_LOG1P 1
    #define HAVE_ACOSH 1
    #define HAVE_ASINH 1
    #define HAVE_ATANH 1
    #define HAVE_RINT 1
    #define HAVE_TRUNC 1
    #define HAVE_EXP2 1
    #define HAVE_LOG2 1
    #define HAVE_HYPOT 1
    #define HAVE_ATAN2 1
    #define HAVE_POW 1
    #define HAVE_COPYSIGN 1
    #define HAVE_NEXTAFTER 1
    #define HAVE_FTELLO 1
    #define HAVE_FSEEKO 1
    #define HAVE_STRTOLL 1
    #define HAVE_STRTOULL 1
    #define HAVE_CBRT 1
    #define HAVE_STRTOLD_L 1
    #define HAVE_FALLOCATE 1
    #define HAVE_BACKTRACE 1
    #define HAVE_MADVISE 1
    #define HAVE_XMMINTRIN_H 1
    #define HAVE_EMMINTRIN_H 1
    #define HAVE_IMMINTRIN_H 1
    #define HAVE_FEATURES_H 1
    #define HAVE_XLOCALE_H 1
    #define HAVE_DLFCN_H 1
    #define HAVE_SYS_MMAN_H 1
    #define HAVE___BUILTIN_ISNAN 1
    #define HAVE___BUILTIN_ISINF 1
    #define HAVE___BUILTIN_ISFINITE 1
    #define HAVE___BUILTIN_BSWAP32 1
    #define HAVE___BUILTIN_BSWAP64 1
    #define HAVE___BUILTIN_EXPECT 1
    #define HAVE___BUILTIN_CPU_SUPPORTS 1
    #define HAVE__M_FROM_INT64 1
    #define HAVE__MM_LOAD_PS 1
    #define HAVE__MM_PREFETCH 1
    #define HAVE__MM_LOAD_PD 1
    #define HAVE___BUILTIN_PREFETCH 1
    #define HAVE_LINK_AVX 1
    #define HAVE_LINK_AVX2 1
    #define HAVE_LINK_AVX512F 1
    #define HAVE_XGETBV 1
    #define HAVE_ATTRIBUTE_OPTIMIZE_UNROLL_LOOPS 1
    #define HAVE_ATTRIBUTE_OPTIMIZE_OPT_3 1
    #define HAVE_ATTRIBUTE_NONNULL 1
    #define HAVE_ATTRIBUTE_TARGET_AVX 1
    #define HAVE_ATTRIBUTE_TARGET_AVX2 1
    #define HAVE___THREAD 1
    #define HAVE_SINF 1
    #define HAVE_COSF 1
    #define HAVE_TANF 1
    #define HAVE_SINHF 1
    #define HAVE_COSHF 1
    #define HAVE_TANHF 1
    #define HAVE_FABSF 1
    #define HAVE_FLOORF 1
    #define HAVE_CEILF 1
    #define HAVE_RINTF 1
    #define HAVE_TRUNCF 1
    #define HAVE_SQRTF 1
    #define HAVE_LOG10F 1
    #define HAVE_LOGF 1
    #define HAVE_LOG1PF 1
    #define HAVE_EXPF 1
    #define HAVE_EXPM1F 1
    #define HAVE_ASINF 1
    #define HAVE_ACOSF 1
    #define HAVE_ATANF 1
    #define HAVE_ASINHF 1
    #define HAVE_ACOSHF 1
    #define HAVE_ATANHF 1
    #define HAVE_HYPOTF 1
    #define HAVE_ATAN2F 1
    #define HAVE_POWF 1
    #define HAVE_FMODF 1
    #define HAVE_MODFF 1
    #define HAVE_FREXPF 1
    #define HAVE_LDEXPF 1
    #define HAVE_EXP2F 1
    #define HAVE_LOG2F 1
    #define HAVE_COPYSIGNF 1
    #define HAVE_NEXTAFTERF 1
    #define HAVE_CBRTF 1
    #define HAVE_SINL 1
    #define HAVE_COSL 1
    #define HAVE_TANL 1
    #define HAVE_SINHL 1
    #define HAVE_COSHL 1
    #define HAVE_TANHL 1
    #define HAVE_FABSL 1
    #define HAVE_FLOORL 1
    #define HAVE_CEILL 1
    #define HAVE_RINTL 1
    #define HAVE_TRUNCL 1
    #define HAVE_SQRTL 1
    #define HAVE_LOG10L 1
    #define HAVE_LOGL 1
    #define HAVE_LOG1PL 1
    #define HAVE_EXPL 1
    #define HAVE_EXPM1L 1
    #define HAVE_ASINL 1
    #define HAVE_ACOSL 1
    #define HAVE_ATANL 1
    #define HAVE_ASINHL 1
    #define HAVE_ACOSHL 1
    #define HAVE_ATANHL 1
    #define HAVE_HYPOTL 1
    #define HAVE_ATAN2L 1
    #define HAVE_POWL 1
    #define HAVE_FMODL 1
    #define HAVE_MODFL 1
    #define HAVE_FREXPL 1
    #define HAVE_LDEXPL 1
    #define HAVE_EXP2L 1
    #define HAVE_LOG2L 1
    #define HAVE_COPYSIGNL 1
    #define HAVE_NEXTAFTERL 1
    #define HAVE_CBRTL 1
    #define HAVE_DECL_ISNAN
    #define HAVE_DECL_ISINF
    #define HAVE_DECL_SIGNBIT
    #define HAVE_DECL_ISFINITE
    #define HAVE_COMPLEX_H 1
    #define HAVE_CABS 1
    #define HAVE_CACOS 1
    #define HAVE_CACOSH 1
    #define HAVE_CARG 1
    #define HAVE_CASIN 1
    #define HAVE_CASINH 1
    #define HAVE_CATAN 1
    #define HAVE_CATANH 1
    #define HAVE_CCOS 1
    #define HAVE_CCOSH 1
    #define HAVE_CEXP 1
    #define HAVE_CIMAG 1
    #define HAVE_CLOG 1
    #define HAVE_CONJ 1
    #define HAVE_CPOW 1
    #define HAVE_CPROJ 1
    #define HAVE_CREAL 1
    #define HAVE_CSIN 1
    #define HAVE_CSINH 1
    #define HAVE_CSQRT 1
    #define HAVE_CTAN 1
    #define HAVE_CTANH 1
    #define HAVE_CABSF 1
    #define HAVE_CACOSF 1
    #define HAVE_CACOSHF 1
    #define HAVE_CARGF 1
    #define HAVE_CASINF 1
    #define HAVE_CASINHF 1
    #define HAVE_CATANF 1
    #define HAVE_CATANHF 1
    #define HAVE_CCOSF 1
    #define HAVE_CCOSHF 1
    #define HAVE_CEXPF 1
    #define HAVE_CIMAGF 1
    #define HAVE_CLOGF 1
    #define HAVE_CONJF 1
    #define HAVE_CPOWF 1
    #define HAVE_CPROJF 1
    #define HAVE_CREALF 1
    #define HAVE_CSINF 1
    #define HAVE_CSINHF 1
    #define HAVE_CSQRTF 1
    #define HAVE_CTANF 1
    #define HAVE_CTANHF 1
    #define HAVE_CABSL 1
    #define HAVE_CACOSL 1
    #define HAVE_CACOSHL 1
    #define HAVE_CARGL 1
    #define HAVE_CASINL 1
    #define HAVE_CASINHL 1
    #define HAVE_CATANL 1
    #define HAVE_CATANHL 1
    #define HAVE_CCOSL 1
    #define HAVE_CCOSHL 1
    #define HAVE_CEXPL 1
    #define HAVE_CIMAGL 1
    #define HAVE_CLOGL 1
    #define HAVE_CONJL 1
    #define HAVE_CPOWL 1
    #define HAVE_CPROJL 1
    #define HAVE_CREALL 1
    #define HAVE_CSINL 1
    #define HAVE_CSINHL 1
    #define HAVE_CSQRTL 1
    #define HAVE_CTANL 1
    #define HAVE_CTANHL 1
    #define NPY_RESTRICT restrict
    #define NPY_RELAXED_STRIDES_CHECKING 1
    #define HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE 1
    #define NPY_PY3K 1
    #ifndef __cplusplus
    /* #undef inline */
    #endif

    #ifndef _NPY_NPY_CONFIG_H_
    #error config.h should never be included directly, include npy_config.h instead
    #endif

    EOF
    File: build/src.linux-x86_64-3.6/numpy/core/include/numpy/_numpyconfig.h
    #define NPY_HAVE_ENDIAN_H 1
    #define NPY_SIZEOF_SHORT SIZEOF_SHORT
    #define NPY_SIZEOF_INT SIZEOF_INT
    #define NPY_SIZEOF_LONG SIZEOF_LONG
    #define NPY_SIZEOF_FLOAT 4
    #define NPY_SIZEOF_COMPLEX_FLOAT 8
    #define NPY_SIZEOF_DOUBLE 8
    #define NPY_SIZEOF_COMPLEX_DOUBLE 16
    #define NPY_SIZEOF_LONGDOUBLE 16
    #define NPY_SIZEOF_COMPLEX_LONGDOUBLE 32
    #define NPY_SIZEOF_PY_INTPTR_T 8
    #define NPY_SIZEOF_OFF_T 8
    #define NPY_SIZEOF_PY_LONG_LONG 8
    #define NPY_SIZEOF_LONGLONG 8
    #define NPY_NO_SMP 0
    #define NPY_HAVE_DECL_ISNAN
    #define NPY_HAVE_DECL_ISINF
    #define NPY_HAVE_DECL_SIGNBIT
    #define NPY_HAVE_DECL_ISFINITE
    #define NPY_USE_C99_COMPLEX 1
    #define NPY_HAVE_COMPLEX_DOUBLE 1
    #define NPY_HAVE_COMPLEX_FLOAT 1
    #define NPY_HAVE_COMPLEX_LONG_DOUBLE 1
    #define NPY_RELAXED_STRIDES_CHECKING 1
    #define NPY_USE_C99_FORMATS 1
    #define NPY_VISIBILITY_HIDDEN __attribute__((visibility("hidden")))
    #define NPY_ABI_VERSION 0x01000009
    #define NPY_API_VERSION 0x0000000D

    #ifndef __STDC_FORMAT_MACROS
    #define __STDC_FORMAT_MACROS 1
    #endif

    EOF
    no previously-included directories found matching 'doc/build'
    no previously-included directories found matching 'doc/source/generated'
    no previously-included directories found matching 'benchmarks/env'
    no previously-included directories found matching 'benchmarks/results'
    no previously-included directories found matching 'benchmarks/html'
    no previously-included directories found matching 'benchmarks/numpy'
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
    warning: no previously-included files matching '*.pyd' found anywhere in distribution
    warning: no previously-included files matching '*.swp' found anywhere in distribution
    warning: no previously-included files matching '*.bak' found anywhere in distribution
    warning: no previously-included files matching '*~' found anywhere in distribution
    warning: no previously-included files found matching 'LICENSES_bundled.txt'
    numpy/core/src/multiarray/number.c: In function 'array_scalar_forward':
    numpy/core/src/multiarray/number.c:909:9: warning: passing argument 1 of 'PyPy_EnterRecursiveCall' discards 'const' qualifier from pointer target type [enabled by default]
             if (Npy_EnterRecursiveCall(where) != 0) {
             ^
    In file included from /usr/lib64/pypy-5.0.1/include/Python.h:142:0,
                     from numpy/core/src/multiarray/number.c:2:
    /usr/lib64/pypy-5.0.1/include/pypy_decl.h:945:31: note: expected 'char *' but argument is of type 'const char *'
     #define Py_EnterRecursiveCall PyPy_EnterRecursiveCall
                                   ^
    /usr/lib64/pypy-5.0.1/include/pypy_decl.h:946:17: note: in expansion of macro 'Py_EnterRecursiveCall'
     PyAPI_FUNC(int) Py_EnterRecursiveCall(char *arg0);
                     ^
    In file included from numpy/core/src/common/numpyos.c:23:0:
    /usr/include/xlocale.h:27:16: error: redefinition of 'struct __locale_struct'
     typedef struct __locale_struct
                    ^
    In file included from /usr/include/bits/types/locale_t.h:22:0,
                     from /usr/include/stdlib.h:272,
                     from /usr/lib64/pypy-5.0.1/include/Python.h:59,
                     from numpy/core/src/common/numpyos.c:2:
    /usr/include/bits/types/__locale_t.h:28:8: note: originally defined here
     struct __locale_struct
            ^
    In file included from numpy/core/src/common/numpyos.c:23:0:
    /usr/include/xlocale.h:39:4: error: conflicting types for '__locale_t'
     } *__locale_t;
        ^
    In file included from /usr/include/bits/types/locale_t.h:22:0,
                     from /usr/include/stdlib.h:272,
                     from /usr/lib64/pypy-5.0.1/include/Python.h:59,
                     from numpy/core/src/common/numpyos.c:2:
    /usr/include/bits/types/__locale_t.h:42:33: note: previous declaration of '__locale_t' was here
     typedef struct __locale_struct *__locale_t;
                                     ^
    In file included from numpy/core/src/common/numpyos.c:23:0:
    /usr/include/xlocale.h:42:20: error: conflicting types for 'locale_t'
     typedef __locale_t locale_t;
                        ^
    In file included from /usr/include/stdlib.h:272:0,
                     from /usr/lib64/pypy-5.0.1/include/Python.h:59,
                     from numpy/core/src/common/numpyos.c:2:
    /usr/include/bits/types/locale_t.h:24:20: note: previous declaration of 'locale_t' was here
     typedef __locale_t locale_t;
                        ^
    numpy/core/src/common/numpyos.c: In function 'NumPyOS_ascii_strtold':
    numpy/core/src/common/numpyos.c:568:13: warning: assignment from incompatible pointer type [enabled by default]
         clocale = newlocale(LC_ALL_MASK, "C", NULL);
                 ^
    numpy/core/src/common/numpyos.c:571:9: warning: passing argument 3 of 'strtold_l' from incompatible pointer type [enabled by default]
             result = strtold_l(s, endptr, clocale);
             ^
    In file included from /usr/lib64/pypy-5.0.1/include/Python.h:59:0,
                     from numpy/core/src/common/numpyos.c:2:
    /usr/include/stdlib.h:303:20: note: expected 'locale_t' but argument is of type 'locale_t'
     extern long double strtold_l (const char *__restrict __nptr,
                        ^
    numpy/core/src/common/numpyos.c:572:9: warning: passing argument 1 of 'freelocale' from incompatible pointer type [enabled by default]
             freelocale(clocale);
             ^
    In file included from /usr/lib64/pypy-5.0.1/include/Python.h:92:0,
                     from numpy/core/src/common/numpyos.c:2:
    /usr/include/locale.h:180:13: note: expected 'locale_t' but argument is of type 'locale_t'
     extern void freelocale (locale_t __dataset) __THROW;
                 ^
    Running from numpy source directory.
    /tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py:418: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
      run_build = parse_setuppy_commands()
    /usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py:261: UserWarning: Unknown distribution option: 'define_macros'
      warnings.warn(msg)
    Traceback (most recent call last):
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/unixccompiler.py", line 58, in UnixCCompiler__compile
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda>
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 172, in CCompiler_spawn
    distutils.errors.DistutilsExecError: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/bdist_egg.py", line 172, in run
        cmd = self.call_command('install_lib', warn_dir=0)
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
        self.run_command(cmdname)
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/install_lib.py", line 11, in run
        self.build()
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/install_lib.py", line 107, in build
        self.run_command('build_ext')
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/command/build_ext.py", line 261, in run
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/build_ext.py", line 456, in build_extensions
        self._build_extensions_serial()
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/build_ext.py", line 481, in _build_extensions_serial
        self.build_extension(ext)
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/command/build_ext.py", line 379, in build_extension
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda>
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 363, in CCompiler_compile
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 323, in single_compile
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda>
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/unixccompiler.py", line 61, in UnixCCompiler__compile
    distutils.errors.CompileError: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 195, in setup_context
        yield
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 250, in run_setup
        _execfile(setup_script, ns)
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 45, in _execfile
        exec(code, globals, locals)
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py", line 443, in <module>
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py", line 435, in setup_package
      File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/core.py", line 171, in setup
      File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/__init__.py", line 143, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/core.py", line 163, in setup
        raise SystemExit("error: " + str(msg))
    SystemExit: error: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-q5nuqdhw/matplotlib/
You are using pip version 18.1, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

So the specific issue is here:

In file included from numpy/core/src/common/numpyos.c:23:0:
/usr/include/xlocale.h:39:4: error: conflicting types for '__locale_t'
 } *__locale_t;
    ^
In file included from /usr/include/bits/types/locale_t.h:22:0,
                 from /usr/include/stdlib.h:272,
                 from /usr/lib64/pypy-5.0.1/include/Python.h:59,
                 from numpy/core/src/common/numpyos.c:2:
/usr/include/bits/types/__locale_t.h:42:33: note: previous declaration of '__locale_t' was here
 typedef struct __locale_struct *__locale_t;

How to exactly fix those conflicting definitions between system header files installed by yum without using mnual hacks?

matplotlib
pip
centos
python-3.6
pypy
asked on Stack Overflow Oct 26, 2019 by user2284570 • edited Oct 27, 2019 by user2284570

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0