Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install numpy2.2.0 for Python3.10 #2409

Open
Sunny-Anand opened this issue Dec 13, 2024 · 9 comments
Open

Unable to install numpy2.2.0 for Python3.10 #2409

Sunny-Anand opened this issue Dec 13, 2024 · 9 comments

Comments

@Sunny-Anand
Copy link

Sunny-Anand commented Dec 13, 2024

Docker Base Image: UBI-8
Host: zLinux on IBM Z
This was working fine on IBM z14,z15 and z16 machines when installing numpy inside a container with UBI-8 image.

Our production build fails due to the error reported below in the build log. It started to happen when we started pulling in numpy2.2.0.


Files removed: 82
Installing packages for /usr/local/bin/python3.10
Collecting pip
  Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 23.9 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.0.1
    Uninstalling pip-23.0.1:
      Successfully uninstalled pip-23.0.1
Successfully installed pip-24.3.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/site-packages (65.5.0)
Collecting setuptools
  Downloading setuptools-75.6.0-py3-none-any.whl.metadata (6.7 kB)
Downloading setuptools-75.6.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 36.7 MB/s eta 0:00:00
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 65.5.0
    Uninstalling setuptools-65.5.0:
      Successfully uninstalled setuptools-65.5.0
Successfully installed setuptools-75.6.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
Collecting numpy
  Downloading numpy-2.2.0.tar.gz (20.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 20.2/20.2 MB 152.0 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [580 lines of output]
      + /usr/local/bin/python3.10 /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/vendored-meson/meson/meson.py setup /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w/meson-python-native-file.ini
      The Meson build system
      Version: 1.5.2
      Source dir: /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e
      Build dir: /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w
      Build type: native build
      Project name: NumPy
      Project version: 2.2.0
      C compiler for the host machine: cc (gcc 8.5.0 "cc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)")
      C linker for the host machine: cc ld.bfd 2.30-125
      C++ compiler for the host machine: c++ (gcc 8.5.0 "c++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)")
      C++ linker for the host machine: c++ ld.bfd 2.30-125
      Cython compiler for the host machine: cython (cython 3.0.11)
      Host machine cpu family: s390x
      Host machine cpu: s390x
      Program python found: YES (/usr/local/bin/python3.10)
      Found pkg-config: YES (/usr/bin/pkg-config) 1.4.2
      Run-time dependency python found: YES 3.10
      Has header "Python.h" with dependency python-3.10: YES
      Compiler for C supports arguments -fno-strict-aliasing: YES
      Message: During parsing cpu-dispatch: The following CPU features were ignored due to platform incompatibility or lack of support:
      "XOP FMA4"
      Test features "VX" : Supported
      Test features "VXE" : Supported
      Test features "VXE2" : Unsupported due to Arguments "-mzvector, -march=arch13" are not supported
      Configuring npy_cpu_dispatch_config.h using configuration
      Message:
      CPU Optimization Options
        baseline:
          Requested : min
          Enabled   :
        dispatch:
          Requested : max -xop -fma4
          Enabled   : VX VXE
      
      Library m found: YES
      Run-time dependency scipy-openblas found: NO (tried pkgconfig)
      Run-time dependency openblas found: YES 0.3.15
      Message: BLAS symbol suffix:
      Run-time dependency openblas found: YES 0.3.15
      Checking if "Check atomic builtins without -latomic" : links: NO
      Library atomic found: YES
      Checking if "Check atomic builtins with -latomic" with dependency -latomic: links: NO
      Program _build_utils/process_src_template.py found: YES (/usr/local/bin/python3.10 /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/numpy/_build_utils/process_src_template.py)
      Program _build_utils/tempita.py found: YES (/usr/local/bin/python3.10 /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/numpy/_build_utils/tempita.py)
      Configuring __config__.py using configuration
      Checking for size of "short" : 2
      Checking for size of "int" : 4
      Checking for size of "long" : 8
      Checking for size of "long long" : 8
      Checking for size of "float" : 4
      Checking for size of "double" : 8
      Checking for size of "long double" : 16
      Checking for size of "size_t" : 8
      Checking for size of "size_t" : 8 (cached)
      Checking for size of "wchar_t" : 4
      Checking for size of "off_t" : 8
      Checking for size of "Py_intptr_t" with dependency python-3.10: 8
      Checking for size of "PY_LONG_LONG" with dependency python-3.10: 8
      Has header "complex.h" : YES
      Checking for type "complex float" : YES
      Checking for size of "complex float" : 8
      Checking for type "complex double" : YES
      Checking for size of "complex double" : 16
      Checking for type "complex long double" : YES
      Checking for size of "complex long double" : 32
      Checking for function "sin" with dependency -lm: YES
      Checking for function "cos" with dependency -lm: YES
      Checking for function "tan" with dependency -lm: YES
      Checking for function "sinh" with dependency -lm: YES
      Checking for function "cosh" with dependency -lm: YES
      Checking for function "tanh" with dependency -lm: YES
      Checking for function "fabs" with dependency -lm: YES
      Checking for function "floor" with dependency -lm: YES
      Checking for function "ceil" with dependency -lm: YES
      Checking for function "sqrt" with dependency -lm: YES
      Checking for function "log10" with dependency -lm: YES
      Checking for function "log" with dependency -lm: YES
      Checking for function "exp" with dependency -lm: YES
      Checking for function "asin" with dependency -lm: YES
      Checking for function "acos" with dependency -lm: YES
      Checking for function "atan" with dependency -lm: YES
      Checking for function "fmod" with dependency -lm: YES
      Checking for function "modf" with dependency -lm: YES
      Checking for function "frexp" with dependency -lm: YES
      Checking for function "ldexp" with dependency -lm: YES
      Checking for function "expm1" with dependency -lm: YES
      Checking for function "log1p" with dependency -lm: YES
      Checking for function "acosh" with dependency -lm: YES
      Checking for function "asinh" with dependency -lm: YES
      Checking for function "atanh" with dependency -lm: YES
      Checking for function "rint" with dependency -lm: YES
      Checking for function "trunc" with dependency -lm: YES
      Checking for function "exp2" with dependency -lm: YES
      Checking for function "copysign" with dependency -lm: YES
      Checking for function "nextafter" with dependency -lm: YES
      Checking for function "cbrt" with dependency -lm: YES
      Checking for function "log2" with dependency -lm: YES
      Checking for function "pow" with dependency -lm: YES
      Checking for function "hypot" with dependency -lm: YES
      Checking for function "atan2" with dependency -lm: YES
      Checking for function "csin" with dependency -lm: YES
      Checking for function "csinh" with dependency -lm: YES
      Checking for function "ccos" with dependency -lm: YES
      Checking for function "ccosh" with dependency -lm: YES
      Checking for function "ctan" with dependency -lm: YES
      Checking for function "ctanh" with dependency -lm: YES
      Checking for function "creal" with dependency -lm: YES
      Checking for function "cimag" with dependency -lm: YES
      Checking for function "conj" with dependency -lm: YES
      Checking for function "strtoll" : YES
      Checking for function "strtoull" : YES
      Checking for function "cabs" with dependency -lm: YES
      Checking for function "cabsf" with dependency -lm: YES
      Checking for function "cabsl" with dependency -lm: YES
      Checking for function "cacos" with dependency -lm: YES
      Checking for function "cacosf" with dependency -lm: YES
      Checking for function "cacosl" with dependency -lm: YES
      Checking for function "cacosh" with dependency -lm: YES
      Checking for function "cacoshf" with dependency -lm: YES
      Checking for function "cacoshl" with dependency -lm: YES
      Checking for function "carg" with dependency -lm: YES
      Checking for function "cargf" with dependency -lm: YES
      Checking for function "cargl" with dependency -lm: YES
      Checking for function "casin" with dependency -lm: YES
      Checking for function "casinf" with dependency -lm: YES
      Checking for function "casinl" with dependency -lm: YES
      Checking for function "casinh" with dependency -lm: YES
      Checking for function "casinhf" with dependency -lm: YES
      Checking for function "casinhl" with dependency -lm: YES
      Checking for function "catan" with dependency -lm: YES
      Checking for function "catanf" with dependency -lm: YES
      Checking for function "catanl" with dependency -lm: YES
      Checking for function "catanh" with dependency -lm: YES
      Checking for function "catanhf" with dependency -lm: YES
      Checking for function "catanhl" with dependency -lm: YES
      Checking for function "cexp" with dependency -lm: YES
      Checking for function "cexpf" with dependency -lm: YES
      Checking for function "cexpl" with dependency -lm: YES
      Checking for function "clog" with dependency -lm: YES
      Checking for function "clogf" with dependency -lm: YES
      Checking for function "clogl" with dependency -lm: YES
      Checking for function "cpow" with dependency -lm: YES
      Checking for function "cpowf" with dependency -lm: YES
      Checking for function "cpowl" with dependency -lm: YES
      Checking for function "csqrt" with dependency -lm: YES
      Checking for function "csqrtf" with dependency -lm: YES
      Checking for function "csqrtl" with dependency -lm: YES
      Checking for function "csin" with dependency -lm: YES (cached)
      Checking for function "csinf" with dependency -lm: YES
      Checking for function "csinl" with dependency -lm: YES
      Checking for function "csinh" with dependency -lm: YES (cached)
      Checking for function "csinhf" with dependency -lm: YES
      Checking for function "csinhl" with dependency -lm: YES
      Checking for function "ccos" with dependency -lm: YES (cached)
      Checking for function "ccosf" with dependency -lm: YES
      Checking for function "ccosl" with dependency -lm: YES
      Checking for function "ccosh" with dependency -lm: YES (cached)
      Checking for function "ccoshf" with dependency -lm: YES
      Checking for function "ccoshl" with dependency -lm: YES
      Checking for function "ctan" with dependency -lm: YES (cached)
      Checking for function "ctanf" with dependency -lm: YES
      Checking for function "ctanl" with dependency -lm: YES
      Checking for function "ctanh" with dependency -lm: YES (cached)
      Checking for function "ctanhf" with dependency -lm: YES
      Checking for function "ctanhl" with dependency -lm: YES
      Checking for function "isfinite" with dependency -lm: YES
      Header "Python.h" has symbol "isfinite" with dependency python-3.10: YES
      Checking for function "isinf" with dependency -lm: YES
      Header "Python.h" has symbol "isinf" with dependency python-3.10: YES
      Checking for function "isnan" with dependency -lm: YES
      Header "Python.h" has symbol "isnan" with dependency python-3.10: YES
      Checking for function "signbit" with dependency -lm: YES
      Header "Python.h" has symbol "signbit" with dependency python-3.10: YES
      Checking if "thread_local" compiles: NO
      Checking if "_Thread_local" compiles: YES
      Checking if "__thread" compiles: YES
      Checking if "__declspec(thread)" compiles: NO
      Checking for function "fallocate" : YES
      Header "Python.h" has symbol "HAVE_FTELLO" with dependency python-3.10: YES
      Header "Python.h" has symbol "HAVE_FSEEKO" with dependency python-3.10: YES
      Checking for function "backtrace" : YES
      Checking for function "madvise" : YES
      Has header "features.h" : YES
      Has header "xlocale.h" : NO
      Has header "dlfcn.h" : YES
      Has header "execinfo.h" : YES
      Has header "libunwind.h" : NO
      Has header "sys/mman.h" : YES
      Checking for function "strtold_l" : YES
      Compiler for C supports arguments -O3: YES
      Has header "endian.h" : YES
      Has header "sys/endian.h" : NO
      Compiler for C supports function attribute visibility:hidden: YES
      Configuring config.h using configuration
      Configuring _numpyconfig.h using configuration
      Configuring npymath.ini using configuration
      Configuring mlib.ini using configuration
      Configuring numpy.pc using configuration
      Generating multi-targets for "_umath_tests.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "argfunc.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "x86_simd_argsort.dispatch.h"
        Enabled targets:
      Generating multi-targets for "x86_simd_qsort.dispatch.h"
        Enabled targets:
      Generating multi-targets for "x86_simd_qsort_16bit.dispatch.h"
        Enabled targets:
      Generating multi-targets for "highway_qsort.dispatch.h"
        Enabled targets:
      Generating multi-targets for "highway_qsort_16bit.dispatch.h"
        Enabled targets:
      Generating multi-targets for "loops_arithm_fp.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_arithmetic.dispatch.h"
        Enabled targets: VX, baseline
      Generating multi-targets for "loops_comparison.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_exponent_log.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_hyperbolic.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_logical.dispatch.h"
        Enabled targets: VX, baseline
      Generating multi-targets for "loops_minmax.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_modulo.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_trigonometric.dispatch.h"
        Enabled targets: VXE, baseline
      Generating multi-targets for "loops_umath_fp.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_unary_fp.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_unary_fp_le.dispatch.h"
        Enabled targets: baseline
      Generating multi-targets for "loops_unary_complex.dispatch.h"
        Enabled targets: VXE, VX, baseline
      Generating multi-targets for "loops_autovec.dispatch.h"
        Enabled targets: VX, baseline
      Generating multi-targets for "_simd.dispatch.h"
        Enabled targets: VX, VXE, baseline
      Build targets in project: 84
      
      NumPy 2.2.0
      
        User defined options
          Native files: /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w/meson-python-native-file.ini
          buildtype   : release
          b_ndebug    : if-release
          b_vscrt     : md
      
      Found ninja-1.11.1.git.kitware.jobserver-1 at /tmp/pip-build-env-j14dfvwt/normal/bin/ninja
      + /tmp/pip-build-env-j14dfvwt/normal/bin/ninja
      [1/423] Generating numpy/_core/npy_math_internal.h with a custom command
      [2/423] Generating 'numpy/_core/libnpymath.a.p/ieee754.c'
      [3/423] Generating 'numpy/_core/libnpymath.a.p/npy_math_complex.c'
      [4/423] Copying file numpy/__init__.py
      [5/423] Copying file numpy/__init__.pxd
      [6/423] Copying file numpy/__init__.cython-30.pxd
      [7/423] Generating numpy/_core/_umath_doc_generated with a custom command
      [8/423] Generating 'numpy/_core/_umath_tests.cpython-310-s390x-linux-gnu.so.p/_umath_tests.c'
      [9/423] Generating 'numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/_multiarray_tests.c'
      [10/423] Generating numpy/_core/__umath_generated with a custom command
      [11/423] Generating 'numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/templ_common.h'
      [12/423] Generating 'numpy/_core/libargfunc.dispatch.h_baseline.a.p/arraytypes.h'
      [13/423] Compiling C object numpy/_core/libnpymath.a.p/meson-generated_ieee754.c.o
      [14/423] Generating 'numpy/_core/libargfunc.dispatch.h_VXE.a.p/arraytypes.h'
      [15/423] Generating 'numpy/_core/libargfunc.dispatch.h_baseline.a.p/npy_sort.h'
      [16/423] Generating 'numpy/_core/libargfunc.dispatch.h_baseline.a.p/argfunc.dispatch.c'
      [17/423] Generating 'numpy/_core/libargfunc.dispatch.h_VXE.a.p/npy_sort.h'
      [18/423] Generating 'numpy/_core/libargfunc.dispatch.h_VXE.a.p/argfunc.dispatch.c'
      [19/423] Generating 'numpy/_core/libargfunc.dispatch.h_VX.a.p/arraytypes.h'
      [20/423] Compiling C++ object numpy/_core/libhighway.a.p/src_highway_hwy_abort.cc.o
      [21/423] Compiling C object numpy/_core/libnpymath.a.p/meson-generated_npy_math_complex.c.o
      [22/423] Generating 'numpy/_core/libargfunc.dispatch.h_VX.a.p/npy_sort.h'
      [23/423] Generating numpy/_core/__ufunc_api with a custom command
      [24/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops_utils.h'
      [25/423] Linking static target numpy/_core/libhighway.a
      [26/423] Generating 'numpy/_core/libargfunc.dispatch.h_VX.a.p/argfunc.dispatch.c'
      [27/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops.h'
      [28/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_baseline.a.p/loops_arithm_fp.dispatch.c'
      [29/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VXE.a.p/loops.h'
      [30/423] Compiling C object numpy/_core/libnpymath.a.p/src_npymath_npy_math.c.o
      [31/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VXE.a.p/loops_utils.h'
      [32/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VXE.a.p/loops_arithm_fp.dispatch.c'
      [33/423] Generating numpy/_core/__multiarray_api with a custom command
      [34/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VX.a.p/loops.h'
      [35/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VX.a.p/loops_utils.h'
      [36/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_baseline.a.p/loops_utils.h'
      [37/423] Generating 'numpy/_core/libloops_arithm_fp.dispatch.h_VX.a.p/loops_arithm_fp.dispatch.c'
      [38/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_baseline.a.p/loops.h'
      [39/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_baseline.a.p/loops_arithmetic.dispatch.c'
      [40/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_VX.a.p/loops_utils.h'
      [41/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_VX.a.p/loops.h'
      [42/423] Compiling C object numpy/_core/lib_umath_tests.dispatch.h_VXE.a.p/src_umath__umath_tests.dispatch.c.o
      [43/423] Compiling C object numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/src_common_npy_argparse.c.o
      [44/423] Linking static target numpy/_core/lib_umath_tests.dispatch.h_VXE.a
      [45/423] Compiling C++ object numpy/_core/libnpymath.a.p/src_npymath_halffloat.cpp.o
      [46/423] Compiling C object numpy/_core/lib_umath_tests.dispatch.h_baseline.a.p/src_umath__umath_tests.dispatch.c.o
      [47/423] Compiling C object numpy/_core/lib_umath_tests.dispatch.h_VX.a.p/src_umath__umath_tests.dispatch.c.o
      [48/423] Linking static target numpy/_core/libnpymath.a
      [49/423] Linking static target numpy/_core/lib_umath_tests.dispatch.h_baseline.a
      [50/423] Linking static target numpy/_core/lib_umath_tests.dispatch.h_VX.a
      [51/423] Compiling C object numpy/_core/_umath_tests.cpython-310-s390x-linux-gnu.so.p/src_common_npy_cpu_features.c.o
      [52/423] Linking static target numpy/_core/lib_umath_tests_mtargets.a
      [53/423] Compiling C object numpy/_core/_struct_ufunc_tests.cpython-310-s390x-linux-gnu.so.p/src_umath__struct_ufunc_tests.c.o
      [54/423] Compiling C object numpy/_core/libargfunc.dispatch.h_baseline.a.p/meson-generated_argfunc.dispatch.c.o
      [55/423] Linking target numpy/_core/_struct_ufunc_tests.cpython-310-s390x-linux-gnu.so
      [56/423] Compiling C++ object numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/src_common_npy_hashtable.cpp.o
      [57/423] Linking static target numpy/_core/libargfunc.dispatch.h_baseline.a
      [58/423] Compiling C object numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/src_common_mem_overlap.c.o
      [59/423] Compiling C object numpy/_core/_umath_tests.cpython-310-s390x-linux-gnu.so.p/meson-generated__umath_tests.c.o
      [60/423] Compiling C object numpy/_core/_operand_flag_tests.cpython-310-s390x-linux-gnu.so.p/src_umath__operand_flag_tests.c.o
      [61/423] Linking target numpy/_core/_umath_tests.cpython-310-s390x-linux-gnu.so
      [62/423] Linking target numpy/_core/_operand_flag_tests.cpython-310-s390x-linux-gnu.so
      [63/423] Generating 'numpy/_core/libloops_arithmetic.dispatch.h_VX.a.p/loops_arithmetic.dispatch.c'
      [64/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_baseline.a.p/loops.h'
      [65/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_baseline.a.p/loops_utils.h'
      [66/423] Compiling C object numpy/_core/libloops_arithmetic.dispatch.h_baseline.a.p/meson-generated_loops_arithmetic.dispatch.c.o
      [67/423] Linking static target numpy/_core/libloops_arithmetic.dispatch.h_baseline.a
      [68/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VXE.a.p/loops.h'
      [69/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_baseline.a.p/loops_comparison.dispatch.c'
      [70/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VXE.a.p/loops_utils.h'
      [71/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VXE.a.p/loops_comparison.dispatch.c'
      [72/423] Compiling C object numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so.p/meson-generated__multiarray_tests.c.o
      [73/423] Linking target numpy/_core/_multiarray_tests.cpython-310-s390x-linux-gnu.so
      [74/423] Compiling C object numpy/_core/libargfunc.dispatch.h_VXE.a.p/meson-generated_argfunc.dispatch.c.o
      [75/423] Linking static target numpy/_core/libargfunc.dispatch.h_VXE.a
      [76/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VX.a.p/loops_utils.h'
      [77/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VX.a.p/loops.h'
      [78/423] Generating 'numpy/_core/libloops_comparison.dispatch.h_VX.a.p/loops_comparison.dispatch.c'
      [79/423] Compiling C object numpy/_core/libloops_comparison.dispatch.h_baseline.a.p/meson-generated_loops_comparison.dispatch.c.o
      [80/423] Compiling C object numpy/_core/libargfunc.dispatch.h_VX.a.p/meson-generated_argfunc.dispatch.c.o
      [81/423] Linking static target numpy/_core/libargfunc.dispatch.h_VX.a
      [82/423] Linking static target numpy/_core/libloops_comparison.dispatch.h_baseline.a
      [83/423] Generating 'numpy/_core/libloops_exponent_log.dispatch.h_baseline.a.p/loops.h'
      [84/423] Compiling C object numpy/_core/_rational_tests.cpython-310-s390x-linux-gnu.so.p/src_umath__rational_tests.c.o
      [85/423] Generating 'numpy/_core/libloops_exponent_log.dispatch.h_baseline.a.p/loops_utils.h'
      [86/423] Generating 'numpy/_core/libloops_exponent_log.dispatch.h_baseline.a.p/loops_exponent_log.dispatch.c'
      [87/423] Linking target numpy/_core/_rational_tests.cpython-310-s390x-linux-gnu.so
      [88/423] Compiling C object numpy/_core/libloops_arithmetic.dispatch.h_VX.a.p/meson-generated_loops_arithmetic.dispatch.c.o
      [89/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops.h'
      [90/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops_utils.h'
      [91/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_baseline.a.p/loops_hyperbolic.dispatch.c'
      [92/423] Linking static target numpy/_core/libloops_arithmetic.dispatch.h_VX.a
      [93/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VXE.a.p/loops.h'
      [94/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VXE.a.p/loops_utils.h'
      [95/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VXE.a.p/loops_hyperbolic.dispatch.c'
      [96/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VX.a.p/loops_utils.h'
      [97/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VX.a.p/loops.h'
      [98/423] Compiling C object numpy/_core/libloops_exponent_log.dispatch.h_baseline.a.p/meson-generated_loops_exponent_log.dispatch.c.o
      [99/423] Generating 'numpy/_core/libloops_hyperbolic.dispatch.h_VX.a.p/loops_hyperbolic.dispatch.c'
      [100/423] Compiling C object numpy/_core/libloops_hyperbolic.dispatch.h_baseline.a.p/meson-generated_loops_hyperbolic.dispatch.c.o
      [101/423] Generating 'numpy/_core/libloops_logical.dispatch.h_baseline.a.p/loops.h'
      [102/423] Linking static target numpy/_core/libloops_exponent_log.dispatch.h_baseline.a
      [103/423] Linking static target numpy/_core/libloops_hyperbolic.dispatch.h_baseline.a
      [104/423] Generating 'numpy/_core/libloops_logical.dispatch.h_baseline.a.p/loops_logical.dispatch.c'
      [105/423] Generating 'numpy/_core/libloops_logical.dispatch.h_baseline.a.p/loops_utils.h'
      [106/423] Generating 'numpy/_core/libloops_logical.dispatch.h_VX.a.p/loops_utils.h'
      [107/423] Compiling C object numpy/_core/libloops_hyperbolic.dispatch.h_VXE.a.p/meson-generated_loops_hyperbolic.dispatch.c.o
      [108/423] Generating 'numpy/_core/libloops_logical.dispatch.h_VX.a.p/loops.h'
      [109/423] Compiling C object numpy/_core/libloops_hyperbolic.dispatch.h_VX.a.p/meson-generated_loops_hyperbolic.dispatch.c.o
      [110/423] Generating 'numpy/_core/libloops_logical.dispatch.h_VX.a.p/loops_logical.dispatch.c'
      [111/423] Linking static target numpy/_core/libloops_hyperbolic.dispatch.h_VXE.a
      [112/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_baseline.a.p/loops.h'
      [113/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_baseline.a.p/loops_utils.h'
      [114/423] Linking static target numpy/_core/libloops_hyperbolic.dispatch.h_VX.a
      [115/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VXE.a.p/loops.h'
      [116/423] Compiling C object numpy/_core/libloops_logical.dispatch.h_baseline.a.p/meson-generated_loops_logical.dispatch.c.o
      [117/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VXE.a.p/loops_utils.h'
      [118/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_baseline.a.p/loops_minmax.dispatch.c'
      [119/423] Compiling C object numpy/_core/libloops_arithm_fp.dispatch.h_baseline.a.p/meson-generated_loops_arithm_fp.dispatch.c.o
      [120/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VXE.a.p/loops_minmax.dispatch.c'
      [121/423] Linking static target numpy/_core/libloops_logical.dispatch.h_baseline.a
      [122/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VX.a.p/loops.h'
      [123/423] Linking static target numpy/_core/libloops_arithm_fp.dispatch.h_baseline.a
      [124/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VX.a.p/loops_utils.h'
      [125/423] Generating 'numpy/_core/libloops_modulo.dispatch.h_baseline.a.p/loops.h'
      [126/423] Compiling C object numpy/_core/libloops_arithm_fp.dispatch.h_VX.a.p/meson-generated_loops_arithm_fp.dispatch.c.o
      [127/423] Generating 'numpy/_core/libloops_modulo.dispatch.h_baseline.a.p/loops_utils.h'
      [128/423] Generating 'numpy/_core/libloops_modulo.dispatch.h_baseline.a.p/loops_modulo.dispatch.c'
      [129/423] Generating 'numpy/_core/libloops_minmax.dispatch.h_VX.a.p/loops_minmax.dispatch.c'
      [130/423] Linking static target numpy/_core/libloops_arithm_fp.dispatch.h_VX.a
      [131/423] Compiling C object numpy/_core/libloops_logical.dispatch.h_VX.a.p/meson-generated_loops_logical.dispatch.c.o
      [132/423] Generating 'numpy/_core/libloops_trigonometric.dispatch.h_baseline.a.p/loops.h'
      [133/423] Generating 'numpy/_core/libloops_trigonometric.dispatch.h_baseline.a.p/loops_utils.h'
      [134/423] Linking static target numpy/_core/libloops_logical.dispatch.h_VX.a
      [135/423] Generating 'numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/loops.h'
      [136/423] Generating 'numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/loops_utils.h'
      [137/423] Generating 'numpy/_core/libloops_umath_fp.dispatch.h_baseline.a.p/loops.h'
      [138/423] Compiling C object numpy/_core/libloops_modulo.dispatch.h_baseline.a.p/meson-generated_loops_modulo.dispatch.c.o
      [139/423] Linking static target numpy/_core/libloops_modulo.dispatch.h_baseline.a
      [140/423] Generating 'numpy/_core/libloops_umath_fp.dispatch.h_baseline.a.p/loops_utils.h'
      [141/423] Generating 'numpy/_core/libloops_umath_fp.dispatch.h_baseline.a.p/loops_umath_fp.dispatch.c'
      [142/423] Generating 'numpy/_core/libloops_unary.dispatch.h_baseline.a.p/loops.h'
      [143/423] Generating 'numpy/_core/libloops_unary.dispatch.h_baseline.a.p/loops_utils.h'
      [144/423] Generating 'numpy/_core/libloops_unary.dispatch.h_baseline.a.p/loops_unary.dispatch.c'
      [145/423] Compiling C object numpy/_core/libloops_arithm_fp.dispatch.h_VXE.a.p/meson-generated_loops_arithm_fp.dispatch.c.o
      [146/423] Linking static target numpy/_core/libloops_arithm_fp.dispatch.h_VXE.a
      [147/423] Compiling C object numpy/_core/libloops_umath_fp.dispatch.h_baseline.a.p/meson-generated_loops_umath_fp.dispatch.c.o
      [148/423] Linking static target numpy/_core/libloops_umath_fp.dispatch.h_baseline.a
      [149/423] Generating 'numpy/_core/libloops_unary.dispatch.h_VXE.a.p/loops_utils.h'
      [150/423] Compiling C++ object numpy/_core/libloops_trigonometric.dispatch.h_baseline.a.p/src_umath_loops_trigonometric.dispatch.cpp.o
      [151/423] Generating 'numpy/_core/libloops_unary.dispatch.h_VXE.a.p/loops.h'
      [152/423] Linking static target numpy/_core/libloops_trigonometric.dispatch.h_baseline.a
      [153/423] Compiling C++ object numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/src_umath_loops_trigonometric.dispatch.cpp.o
      FAILED: numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/src_umath_loops_trigonometric.dispatch.cpp.o
      c++ -Inumpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p -Inumpy/_core -I../numpy/_core -Inumpy/_core/include -I../numpy/_core/include -I../numpy/_core/src/common -I../numpy/_core/src/multiarray -I../numpy/_core/src/npymath -I../numpy/_core/src/umath -I../numpy/_core/src/highway -I/usr/local/include/python3.10 -I/tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w/meson_cpu -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -std=c++17 -O3 -fPIC -DNPY_INTERNAL_BUILD -DHAVE_NPY_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -fno-exceptions -fno-rtti -O3 -DNPY_HAVE_VX -DNPY_HAVE_VXE -mzvector -march=arch12 -DNPY_MTARGETS_CURRENT=VXE -MD -MQ numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/src_umath_loops_trigonometric.dispatch.cpp.o -MF numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/src_umath_loops_trigonometric.dispatch.cpp.o.d -o numpy/_core/libloops_trigonometric.dispatch.h_VXE.a.p/src_umath_loops_trigonometric.dispatch.cpp.o -c ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp
      In file included from ../numpy/_core/src/highway/hwy/highway.h:602,
                       from ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:6:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::Vec128<T, N> hwy::N_Z14::InsertLane(hwy::N_Z14::Vec128<T, N>, size_t, T)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:2281:37: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) T lanes[16 / sizeof(T)];
                                           ^
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::Vec128<T> hwy::N_Z14::MulEven(hwy::N_Z14::Vec128<T>, hwy::N_Z14::Vec128<T>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3421:22: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) T mul[2];
                            ^
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::Vec128<T> hwy::N_Z14::MulOdd(hwy::N_Z14::Vec128<T>, hwy::N_Z14::Vec128<T>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3441:22: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) T mul[2];
                            ^
      In file included from /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w/meson_cpu/npy_cpu_dispatch_config.h:383,
                       from ../numpy/_core/src/common/npy_cpu_dispatch.h:41,
                       from ../numpy/_core/src/common/npy_config.h:5,
                       from ../numpy/_core/include/numpy/npy_common.h:10,
                       from ../numpy/_core/src/common/simd/simd.h:12,
                       from ../numpy/_core/src/umath/fast_loop_macros.h:15,
                       from ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:1:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteTo(D, hwy::N_Z14::VFromD<typename D::Rebind<float> >)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3655:20: error: there are no arguments to ‘__builtin_s390_vfll’ that depend on a template parameter, so a declaration of ‘__builtin_s390_vfll’ must be available [-fpermissive]
         return VFromD<D>{vec_doublee(raw_v)};
                          ^~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3655:20: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteUpperTo(D, hwy::N_Z14::Vec128<float>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3792:20: error: there are no arguments to ‘__builtin_s390_vfll’ that depend on a template parameter, so a declaration of ‘__builtin_s390_vfll’ must be available [-fpermissive]
         return VFromD<D>{vec_doublee(raw_v)};
                          ^~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::Vec32<float> hwy::N_Z14::DemoteTo(D, hwy::N_Z14::Vec64<double>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4412:23: error: there are no arguments to ‘__builtin_s390_vflr’ that depend on a template parameter, so a declaration of ‘__builtin_s390_vflr’ must be available [-fpermissive]
         return Vec32<float>{vec_floate(v.raw)};
                             ^~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_Z14::Vec64<float> hwy::N_Z14::DemoteTo(D, hwy::N_Z14::Vec128<double>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4418:34: error: there are no arguments to ‘__builtin_s390_vflr’ that depend on a template parameter, so a declaration of ‘__builtin_s390_vflr’ must be available [-fpermissive]
         const Vec128<float> f64_to_f32{vec_floate(v.raw)};
                                        ^~~~~~~~~~
      In file included from ../numpy/_core/src/highway/hwy/highway.h:623,
                       from ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:6:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::StoreInterleaved3(hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, D, hwy::N_Z14::TFromD<D>*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:1836:45: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) TFromD<D> buf[MaxLanes(d_full)];
                                                   ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::StoreInterleaved3(hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, D, hwy::N_Z14::TFromD<D>*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:1872:45: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) TFromD<D> buf[MaxLanes(d_full)];
                                                   ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::StoreInterleaved4(hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, hwy::N_Z14::VFromD<D>, D, hwy::N_Z14::TFromD<D>*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:1987:45: warning: requested alignment 16 is larger than 8 [-Wattributes]
         alignas(16) TFromD<D> buf[MaxLanes(d_full)];
                                                   ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::ScatterOffset(hwy::N_Z14::VFromD<D>, D, T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2593:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2596:40: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI offset_lanes[MaxLanes(d)];
                                              ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::ScatterIndex(hwy::N_Z14::VFromD<D>, D, T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2612:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2615:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI index_lanes[MaxLanes(d)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘void hwy::N_Z14::MaskedScatterIndex(hwy::N_Z14::VFromD<D>, hwy::N_Z14::MFromD<D>, D, T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2631:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2634:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI index_lanes[MaxLanes(d)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2637:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI mask_lanes[MaxLanes(di)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::GatherOffset(D, const T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2682:40: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI offset_lanes[MaxLanes(d)];
                                              ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2685:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::GatherIndex(D, const T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2701:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI index_lanes[MaxLanes(d)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2704:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::MaskedGatherIndex(hwy::N_Z14::MFromD<D>, D, const T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2720:40: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI index_lanes[MaxLanes(di)];
                                              ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2723:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI mask_lanes[MaxLanes(di)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2726:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::MaskedGatherIndexOr(hwy::N_Z14::VFromD<D>, hwy::N_Z14::MFromD<D>, D, const T*, hwy::N_Z14::VFromD<typename D::Rebind<typename hwy::detail::Relations<typename D::T>::Signed> >)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2742:40: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI index_lanes[MaxLanes(di)];
                                              ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2745:39: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN TI mask_lanes[MaxLanes(di)];
                                             ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2748:35: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T no_lanes[MaxLanes(d)];
                                         ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2751:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘size_t hwy::N_Z14::CompressBitsStore(V, const uint8_t*, D, T*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:5401:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:5407:35: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN constexpr T table[2048] = {
                                         ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘size_t hwy::N_Z14::CompressBlendedStore(V, M, D, T*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:5559:30: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T buf[MaxLanes(d)];
                                    ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘V hwy::N_Z14::Compress(V, M)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:5569:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h: In function ‘V hwy::N_Z14::CompressBits(V, const uint8_t*)’:
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:5577:32: warning: requested alignment 16 is larger than 8 [-Wattributes]
         HWY_ALIGN T lanes[MaxLanes(d)];
                                      ^
      In file included from /tmp/pip-install-kd0mj0hy/numpy_27e0aa6e7f154101ae7a276c3816996e/.mesonpy-0j2j1k8w/meson_cpu/npy_cpu_dispatch_config.h:383,
                       from ../numpy/_core/src/common/npy_cpu_dispatch.h:41,
                       from ../numpy/_core/src/common/npy_config.h:5,
                       from ../numpy/_core/include/numpy/npy_common.h:10,
                       from ../numpy/_core/src/common/simd/simd.h:12,
                       from ../numpy/_core/src/umath/fast_loop_macros.h:15,
                       from ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:1:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In instantiation of ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteUpperTo(D, hwy::N_Z14::Vec128<float>) [with D = hwy::N_Z14::Simd<double, 2, 0>; hwy::EnableIf<((D::kPrivateLanes * sizeof (typename D::T)) == 16)>* <anonymous> = 0; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, double>()>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<double>]’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3840:40:   required from ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteUpperTo(D, hwy::N_Z14::Vec128<float>) [with D = hwy::N_Z14::Simd<long int, 2, 0>; hwy::EnableIf<((D::kPrivateLanes * sizeof (typename D::T)) == 16)>* <anonymous> = 0; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, long int>()>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<long int>]’
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4643:41:   required from ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::ConvertTo(D, hwy::N_Z14::Vec128<float, typename D::Rebind<float>().MaxLanes()>) [with D = hwy::N_Z14::Simd<int, 4, 0>; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, int>()>* <anonymous> = 0; hwy::EnableIf<((D::kPrivateLanes * sizeof (typename D::T)) == 16)>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<int>; typename D::Rebind<float> = hwy::N_Z14::Simd<float, 4, 0>]’
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4843:19:   required from ‘hwy::N_Z14::Vec128<typename hwy::detail::Relations<T>::Signed, N> hwy::N_Z14::NearestInt(hwy::N_Z14::Vec128<T, N>) [with T = float; long unsigned int N = 4; hwy::EnableIf<IsFloat3264<T>()>* <anonymous> = 0; typename hwy::detail::Relations<T>::Signed = int]’
      ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:152:56:   required from here
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3792:20: error: ‘__builtin_s390_vfll’ was not declared in this scope
         return VFromD<D>{vec_doublee(raw_v)};
                          ^~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3792:20: note: suggested alternative: ‘__builtin_s390_vflls’
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In instantiation of ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteTo(D, hwy::N_Z14::VFromD<typename D::Rebind<float> >) [with D = hwy::N_Z14::Simd<double, 2, 0>; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, double>()>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<double>; hwy::N_Z14::VFromD<typename D::Rebind<float> > = hwy::N_Z14::Vec128<float, 2>; typename D::Rebind<float> = hwy::N_Z14::Simd<float, 4, -1>]’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3716:35:   required from ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteTo(D, hwy::N_Z14::VFromD<typename D::Rebind<float> >) [with D = hwy::N_Z14::Simd<long int, 2, 0>; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, long int>()>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<long int>; hwy::N_Z14::VFromD<typename D::Rebind<float> > = hwy::N_Z14::Vec128<float, 2>; typename D::Rebind<float> = hwy::N_Z14::Simd<float, 4, -1>]’
      ../numpy/_core/src/highway/hwy/ops/generic_ops-inl.h:2989:19:   required from ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::PromoteLowerTo(D, V) [with D = hwy::N_Z14::Simd<long int, 2, 0>; V = hwy::N_Z14::Vec128<float>; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<long int>]’
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4642:47:   required from ‘hwy::N_Z14::VFromD<D> hwy::N_Z14::ConvertTo(D, hwy::N_Z14::Vec128<float, typename D::Rebind<float>().MaxLanes()>) [with D = hwy::N_Z14::Simd<int, 4, 0>; hwy::EnableIf<IsSame<typename hwy::RemoveConstT<typename hwy::RemoveVolatileT<typename hwy::RemoveRefT<typename D::T>::type>::type>::type, int>()>* <anonymous> = 0; hwy::EnableIf<((D::kPrivateLanes * sizeof (typename D::T)) == 16)>* <anonymous> = 0; hwy::N_Z14::VFromD<D> = hwy::N_Z14::Vec128<int>; typename D::Rebind<float> = hwy::N_Z14::Simd<float, 4, 0>]’
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:4843:19:   required from ‘hwy::N_Z14::Vec128<typename hwy::detail::Relations<T>::Signed, N> hwy::N_Z14::NearestInt(hwy::N_Z14::Vec128<T, N>) [with T = float; long unsigned int N = 4; hwy::EnableIf<IsFloat3264<T>()>* <anonymous> = 0; typename hwy::detail::Relations<T>::Signed = int]’
      ../numpy/_core/src/umath/loops_trigonometric.dispatch.cpp:152:56:   required from here
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3655:20: error: ‘__builtin_s390_vfll’ was not declared in this scope
         return VFromD<D>{vec_doublee(raw_v)};
                          ^~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3655:20: note: suggested alternative: ‘__builtin_s390_vflls’
      [154/423] Generating 'numpy/_core/libloops_unary.dispatch.h_VX.a.p/loops.h'
      [155/423] Generating 'numpy/_core/libloops_unary.dispatch.h_VXE.a.p/loops_unary.dispatch.c'
      [156/423] Generating 'numpy/_core/libloops_unary.dispatch.h_VX.a.p/loops_utils.h'
      [157/423] Compiling C object numpy/_core/libloops_unary.dispatch.h_baseline.a.p/meson-generated_loops_unary.dispatch.c.o
      [158/423] Compiling C object numpy/_core/libloops_minmax.dispatch.h_baseline.a.p/meson-generated_loops_minmax.dispatch.c.o
      [159/423] Compiling C object numpy/_core/libloops_comparison.dispatch.h_VX.a.p/meson-generated_loops_comparison.dispatch.c.o
      [160/423] Compiling C object numpy/_core/libloops_comparison.dispatch.h_VXE.a.p/meson-generated_loops_comparison.dispatch.c.o
      [161/423] Compiling C object numpy/_core/libloops_minmax.dispatch.h_VXE.a.p/meson-generated_loops_minmax.dispatch.c.o
      [162/423] Compiling C object numpy/_core/libloops_minmax.dispatch.h_VX.a.p/meson-generated_loops_minmax.dispatch.c.o
      ninja: build stopped: subcommand failed.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Error: building at STEP "RUN for python_path in $PYTHON_3_7_PATH $PYTHON_3_8_PATH $PYTHON_3_9_PATH $PYTHON_3_10_PATH $PYTHON_3_11_PATH $PYTHON_3_12_PATH  $PYTHON_3_13_PATH; do         echo Installing packages for $python_path;         if ! $python_path -m pip install --upgrade --force-reinstall pip; then exit 1; fi;        if ! $python_path -m pip install --upgrade setuptools; then exit 1; fi;        if ! $python_path -m pip install numpy onnx "protobuf>=4.24.2,<4.26"; then exit 1; fi;         if ! $python_path -m pip cache purge; then exit 1; fi;     done": while running runtime: exit status 1
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
Failed in branch Build LoZ DLC
[Pipeline] // parallel

@johnplatts
Copy link
Contributor

  C compiler for the host machine: cc (gcc 8.5.0 "cc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)")
  C++ compiler for the host machine: c++ (gcc 8.5.0 "c++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)")

The issue is that an older GCC version is being used to build numpy on Z14.

Compilers that can successfully compile the HWY_Z14/HWY_Z15 targets are GCC 11 and later and Clang 19 and later (Clang 18 and earlier have bugs with some of the ZVector intrinsics that was fixed in Clang 19).

@Sunny-Anand
Copy link
Author

I ran an experiment with the same setup but downgrading numpy<2.0.0 and it works fine.


Installing packages for /usr/local/bin/python3.10

Collecting pip

  Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 25.4 MB/s eta 0:00:00

Installing collected packages: pip

  Attempting uninstall: pip

    Found existing installation: pip 23.0.1

    Uninstalling pip-23.0.1:

Successfully uninstalled pip-23.0.1

Successfully installed pip-24.3.1

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Requirement already satisfied: setuptools in /usr/local/lib/python3.10/site-packages (65.5.0)

Collecting setuptools

  Downloading setuptools-75.6.0-py3-none-any.whl.metadata (6.7 kB)

Downloading setuptools-75.6.0-py3-none-any.whl (1.2 MB)

   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 35.1 MB/s eta 0:00:00

Installing collected packages: setuptools

  Attempting uninstall: setuptools

    Found existing installation: setuptools 65.5.0

    Uninstalling setuptools-65.5.0:

      Successfully uninstalled setuptools-65.5.0

Successfully installed setuptools-75.6.0

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.

Collecting numpy<2.0.0

  Downloading numpy-1.26.4.tar.gz (15.8 MB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.8/15.8 MB 142.0 MB/s eta 0:00:00

  Installing build dependencies: started

Installing build dependencies: finished with status 'done'

  Getting requirements to build wheel: started

  Getting requirements to build wheel: finished with status 'done'

  Installing backend dependencies: started

  Installing backend dependencies: finished with status 'done'

  Preparing metadata (pyproject.toml): started

Preparing metadata (pyproject.toml): finished with status 'done'

Collecting onnx

  Downloading onnx-1.17.0.tar.gz (12.2 MB)

     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 174.4 MB/s eta 0:00:00

  Installing build dependencies: started

Installing build dependencies: finished with status 'done'

  Getting requirements to build wheel: started

Getting requirements to build wheel: finished with status 'done'

  Preparing metadata (pyproject.toml): started

Preparing metadata (pyproject.toml): finished with status 'done'

Collecting protobuf<4.26,>=4.24.2

  Downloading protobuf-4.25.5-py3-none-any.whl.metadata (541 bytes)

Downloading protobuf-4.25.5-py3-none-any.whl (156 kB)

Building wheels for collected packages: numpy, onnx

  Building wheel for numpy (pyproject.toml): started

  Building wheel for numpy (pyproject.toml): finished with status 'done'

  Created wheel for numpy: filename=numpy-1.26.4-cp310-cp310-linux_s390x.whl size=8002938 sha256=bb3b961fc25108e254df83080a89ebb6c8ad24823d41a29e62f5106c9d0d5553

  Stored in directory: /root/.cache/pip/wheels/34/95/4f/687abd92b993af994c95aebed5739363f0e735f23ccbc691a7

  Building wheel for onnx (pyproject.toml): started

Building wheel for onnx (pyproject.toml): finished with status 'done'

  Created wheel for onnx: filename=onnx-1.17.0-cp310-cp310-linux_s390x.whl size=16293096 sha256=57e42ecfaba921fb549aad7098cd5964e02cb1de82b70b60823781c9dec61426

  Stored in directory: /root/.cache/pip/wheels/42/5d/8b/434cad6bc7fdc755a00fed7d1b9c64e02105a9953ba3e16cf6

Successfully built numpy onnx

Installing collected packages: protobuf, numpy, onnx

Successfully installed numpy-1.26.4 onnx-1.17.0 protobuf-4.25.5

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.

Files removed: 82

Installing packages for /usr/local/bin/python3.11

Collecting pip

  Downloading pip-24.3.1-py3-none-any.whl.metadata (3.7 kB)

Downloading pip-24.3.1-py3-none-any.whl (1.8 MB)

   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 26.4 MB/s eta 0:00:00

Installing collected packages: pip

  Attempting uninstall: pip

    Found existing installation: pip 24.0

    Uninstalling pip-24.0:

      Successfully uninstalled pip-24.0

Successfully installed pip-24.3.1

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: [https://pip.pypa.io](https://pip.pypa.io/warnings/venv)

@jan-wassenberg
Copy link
Member

Thanks for the report.
Usually we have workarounds for when the compiler is known to be too old. @johnplatts , what do you think of adding a HWY_BROKEN_Z14 to detect_targets.h, similar to the other examples around line 200, that check for gcc >= 11 or clang >= 19 as you mention?
I can do that, or would you prefer to?

@Sunny-Anand in the meantime, are you able to update your GCC compiler?

@johnplatts
Copy link
Contributor

Thanks for the report. Usually we have workarounds for when the compiler is known to be too old. @johnplatts , what do you think of adding a HWY_BROKEN_Z14 to detect_targets.h, similar to the other examples around line 200, that check for gcc >= 11 or clang >= 19 as you mention? I can do that, or would you prefer to?

I have implemented fixes for the compiler errors that occur when compiling the Z14 target with GCC 8 or GCC 9, and I will be submitting a pull request with these fixes.

@jan-wassenberg
Copy link
Member

Ooh, even better. Thank you :D

@Sunny-Anand
Copy link
Author

Thanks @johnplatts and @jan-wassenberg for the quick turnaround.

@Sunny-Anand in the meantime, are you able to update your GCC compiler?
As the base image comes with GCC 8 for RHEL UBI-8 image , I don't have the permission to update the compiler their. Also if possible I would avoid tinkering with compilers in the image as it may have other kernel and os dependencies which may also need adjustment, so would like to avoid this path if possible.

Do you know when Numpy will pick this up? We don't directly use Highway, but Numpy uses it for building the wheel files, so I wonder when this fix will be picked up.

@jan-wassenberg
Copy link
Member

After the fix here, we can ask someone from numpy to update the Highway version.

@Sunny-Anand
Copy link
Author

Thanks @jan-wassenberg for the quick help. Will wait for the fix to get upstreamed.

@jan-wassenberg
Copy link
Member

The fix is merged. Hi @r-devulap, can you help update numpy to pick up the new Highway version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants