Skip to content

BUG: Build of 2.2.2 fails only on ppc64le. #28220

Closed

Description

@limburgher

Describe the issue:

https://kojipkgs.fedoraproject.org//work/tasks/6604/128376604/build.log

Worked on 2.2.1

Reproduce the code example:

Build issue

Error message:

Python and NumPy Versions:

Python 3.13, numpy 2.2.2

Runtime Environment:

No response

Context for the issue:

No response

Activity

  1. mattip commented on Jan 23, 2025

    @mattip
    Member

    In the future, please provide more context when reporting an issue so we know what is going on. Digging into the log, this seems like a failure with Highway on some powerpc cpu

    Details
    highway_qsort_16bit.dispatch.cpp
      In file included from ../numpy/_core/src/highway/hwy/highway.h:602,
                       from ../numpy/_core/src/npysort/highway_qsort.hpp:4,
                       from ../numpy/_core/src/npysort/highway_qsort_16bit.dispatch.cpp:1:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_PPC8::VFromD<D> hwy::N_PPC8::PromoteTo(D, VFromD<typename D::Rebind<float> >)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3713:33: error: there are no arguments to ‘__builtin_vsx_xvcvspsxds’ that depend on a template parameter, so a declaration of ‘__builtin_vsx_xvcvspsxds’ must be available [-Wtemplate-body]
       3713 |   return VFromD<decltype(di64)>{__builtin_vsx_xvcvspsxds(raw_v)};
            |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3713:33: 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_PPC8::VFromD<D> hwy::N_PPC8::PromoteTo(D, VFromD<typename D::Rebind<float> >)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3727:7: error: there are no arguments to ‘__builtin_vsx_xvcvspuxds’ that depend on a template parameter, so a declaration of ‘__builtin_vsx_xvcvspuxds’ must be available [-Wtemplate-body]
       3727 |       __builtin_vsx_xvcvspuxds(raw_v))};
            |       ^~~~~~~~~~~~~~~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_PPC8::VFromD<D> hwy::N_PPC8::PromoteUpperTo(D, Vec128<float>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3837:33: error: there are no arguments to ‘__builtin_vsx_xvcvspsxds’ that depend on a template parameter, so a declaration of ‘__builtin_vsx_xvcvspsxds’ must be available [-Wtemplate-body]
       3837 |   return VFromD<decltype(di64)>{__builtin_vsx_xvcvspsxds(raw_v)};
            |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h: In function ‘hwy::N_PPC8::VFromD<D> hwy::N_PPC8::PromoteUpperTo(D, Vec128<float>)’:
      ../numpy/_core/src/highway/hwy/ops/ppc_vsx-inl.h:3852:7: error: there are no arguments to ‘__builtin_vsx_xvcvspuxds’ that depend on a template parameter, so a declaration of ‘__builtin_vsx_xvcvspuxds’ must be available [-Wtemplate-body]
       3852 |       __builtin_vsx_xvcvspuxds(raw_v))};
    
  2. limburgher commented on Jan 23, 2025

    @limburgher
    ContributorAuthor

    Noted. I wasn't sure what would be relevant. Happy to help testing patches.

  3. r-devulap commented on Jan 23, 2025

    @r-devulap
    Member

    It is being built with g++ (gcc 15.0.1 "g++ (GCC) 15.0.1 20250114 (Red Hat 15.0.1-0)") which doesn't have an official release yet and is still in development. @jan-wassenberg thoughts?

  4. r-devulap commented on Jan 23, 2025

    @r-devulap
    Member

    Never mind, looks like this was already resolved in google/highway#2443. Pulling in latest highway should fix this.

  5. limburgher commented on Jan 23, 2025

    @limburgher
    ContributorAuthor

    Thank you, that works!

  6. jan-wassenberg commented on Jan 24, 2025

    @jan-wassenberg
    Contributor

    👍 Yes indeed, it seems GCC removed an intrinsic. Not sure why that was considered desirable. We were able to work around it, so all good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions