Skip to content

[BUG] NDK 27b cannot compile pythran #2084

Closed
@licy183

Description

Description

When compiling python-scikit-image, some error occurs. It has been reported to LLVM in llvm/llvm-project#76358, but this PR seems not to get included in NDK r27b.

FAILED: skimage/feature/brief_cy.cpython-312.so.p/meson-generated_.._brief_cy.cpp.o 
aarch64-linux-android-clang++ -Iskimage/feature/brief_cy.cpython-312.so.p -Iskimage/feature -I../src/skimage/feature -I/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran -I/data/data/com.termux/files/usr/lib/python3.12/site-packages/numpy/_core/include -I/data/data/com.termux/files/usr/include/python3.12 -I/data/data/com.termux/files/usr/include -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++14 -O3 -Wno-unused-function -fstack-protector-strong -Oz -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_NONE -MD -MQ skimage/feature/brief_cy.cpython-312.so.p/meson-generated_.._brief_cy.cpp.o -MF skimage/feature/brief_cy.cpython-312.so.p/meson-generated_.._brief_cy.cpp.o.d -o skimage/feature/brief_cy.cpython-312.so.p/meson-generated_.._brief_cy.cpp.o -c skimage/feature/brief_cy.cpp
In file included from skimage/feature/brief_cy.cpp:1:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/core.hpp:46:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/slice.hpp:5:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/NoneType.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/builtins/bool_.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/tuple.hpp:8:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:4:
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:495:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  495 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:503:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  503 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/numpy_expr.hpp:326:9: note: in instantiation of template class '(anonymous namespace)::pythonic::types::ndarray<long, (anonymous namespace)::pythonic::types::pshape<long>>' requested here
  326 |         ndarray<long, pshape<long>>(raw, shp, types::ownership::owned));
      |         ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:495:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  495 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:503:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  503 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
In file included from skimage/feature/brief_cy.cpp:1:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/core.hpp:46:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/slice.hpp:5:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/NoneType.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/builtins/bool_.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/tuple.hpp:8:
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:792:19: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  792 |   ndarray<T, pS>::operator[](F const &filter) const
      |                   ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:724:19: note: previous declaration is here
  724 |   ndarray<T, pS>::operator[](S const &s) &&
      |                   ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:816:19: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  816 |   ndarray<T, pS>::operator[](F const &filter) const
      |                   ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:724:19: note: previous declaration is here
  724 |   ndarray<T, pS>::operator[](S const &s) &&
      |                   ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:828:19: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  828 |   ndarray<T, pS>::operator[](F const &filter) const
      |                   ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:724:19: note: previous declaration is here
  724 |   ndarray<T, pS>::operator[](S const &s) &&
      |                   ^
In file included from skimage/feature/brief_cy.cpp:1:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/core.hpp:46:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/slice.hpp:5:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/NoneType.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/builtins/bool_.hpp:6:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/tuple.hpp:8:
In file included from /home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/types/ndarray.hpp:4:
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
skimage/feature/brief_cy.cpp:49:26: note: in instantiation of template class '(anonymous namespace)::pythonic::types::ndarray<int, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>' requested here
   49 |         typedef decltype(pythonic::types::as_const(std::declval<__type1>())) __type2;
      |                          ^
skimage/feature/brief_cy.cpp:134:43: note: in instantiation of template class '(anonymous namespace)::__pythran_brief_cy::_brief_loop::type<(anonymous namespace)::pythonic::types::ndarray<float, (anonymous namespace)::pythonic::types::pshape<long, long>>, (anonymous namespace)::pythonic::types::ndarray<unsigned char, (anonymous namespace)::pythonic::types::pshape<long, long>>, (anonymous namespace)::pythonic::types::ndarray<long, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>, (anonymous namespace)::pythonic::types::ndarray<int, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>, (anonymous namespace)::pythonic::types::ndarray<int, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>>' requested here
  134 | typename __pythran_brief_cy::_brief_loop::type<pythonic::types::ndarray<float,pythonic::types::pshape<long,long>>, pythonic::types::ndarray<npy_uint8,pythonic::types::pshape<long,long>>, pythonic::types::ndarray<npy_int64,pythonic::types::pshape<long,std::integral_constant<long, 2>>>, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>>::result_type _brief_loop0(pythonic::types::ndarray<float,pythonic::types::pshape<long,long>>&& image, pythonic::types::ndarray<npy_uint8,pythonic::types::pshape<long,long>>&& descriptors, pythonic::types::ndarray<npy_int64,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& keypoints, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& pos0, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& pos1) 
      |                                           ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:495:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  495 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:503:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  503 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
skimage/feature/brief_cy.cpp:68:26: note: in instantiation of template class '(anonymous namespace)::pythonic::types::ndarray<long, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>' requested here
   68 |         typedef decltype(pythonic::types::as_const(std::declval<__type22>())) __type23;
      |                          ^
skimage/feature/brief_cy.cpp:134:43: note: in instantiation of template class '(anonymous namespace)::__pythran_brief_cy::_brief_loop::type<(anonymous namespace)::pythonic::types::ndarray<float, (anonymous namespace)::pythonic::types::pshape<long, long>>, (anonymous namespace)::pythonic::types::ndarray<unsigned char, (anonymous namespace)::pythonic::types::pshape<long, long>>, (anonymous namespace)::pythonic::types::ndarray<long, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>, (anonymous namespace)::pythonic::types::ndarray<int, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>, (anonymous namespace)::pythonic::types::ndarray<int, (anonymous namespace)::pythonic::types::pshape<long, std::integral_constant<long, 2>>>>' requested here
  134 | typename __pythran_brief_cy::_brief_loop::type<pythonic::types::ndarray<float,pythonic::types::pshape<long,long>>, pythonic::types::ndarray<npy_uint8,pythonic::types::pshape<long,long>>, pythonic::types::ndarray<npy_int64,pythonic::types::pshape<long,std::integral_constant<long, 2>>>, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>>::result_type _brief_loop0(pythonic::types::ndarray<float,pythonic::types::pshape<long,long>>&& image, pythonic::types::ndarray<npy_uint8,pythonic::types::pshape<long,long>>&& descriptors, pythonic::types::ndarray<npy_int64,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& keypoints, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& pos0, pythonic::types::ndarray<npy_int32,pythonic::types::pshape<long,std::integral_constant<long, 2>>>&& pos1) 
      |                                           ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:495:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  495 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:503:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  503 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
skimage/feature/brief_cy.cpp:139:78: note: in instantiation of template class '(anonymous namespace)::pythonic::types::ndarray<float, (anonymous namespace)::pythonic::types::pshape<long, long>>' requested here
  139 |                                 auto res = __pythran_brief_cy::_brief_loop()(image, descriptors, keypoints, pos0, pos1);
      |                                                                              ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:495:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  495 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:503:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  503 |     operator[](F const &filter) const;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:479:5: error: cannot overload a member function without a ref-qualifier with a member function with ref-qualifier '&&'
  479 |     operator[](F const &filter) const;
      |     ^
skimage/feature/brief_cy.cpp:139:85: note: in instantiation of template class '(anonymous namespace)::pythonic::types::ndarray<unsigned char, (anonymous namespace)::pythonic::types::pshape<long, long>>' requested here
  139 |                                 auto res = __pythran_brief_cy::_brief_loop()(image, descriptors, keypoints, pos0, pos1);
      |                                                                                     ^
/home/builder/.termux-build/python3.12-crossenv-prefix-bionic-aarch64/build/lib/python3.12/site-packages/pythran/pythonic/include/types/ndarray.hpp:438:5: note: previous declaration is here
  438 |     operator[](S const &s) &&;
      |     ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Upstream bug

llvm/llvm-project#76358

Commit to cherry-pick

llvm/llvm-project@69066ab

Affected versions

r27

Canary version

No response

Host OS

Linux

Host OS version

Ubuntu 24.04

Affected ABIs

armeabi-v7a, arm64-v8a, x86, x86_64

Build system

Meson

minSdkVersion

24

Device API level

No response

Metadata

Labels

Type

No type

Projects

  • Status

    Merged
  • Status

    Prebuilts submitted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions