Native build for Ubuntu 20.04 is broken
OS: Nvidia Jetpack Ubuntu 20.04 Compiler: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 OpenCV branch: https://github.com/opencv/opencv/pull/25443 KleidiCV version: https://gitlab.arm.com/kleidi/kleidicv/-/archive/83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5.tar.gz
Steps:
git clone https://github.com/asmorkalov/opencv.git
git checkout as/kleidicv_hal
mkdir build
cd build
cmake -DWITH_KLEIDICV=ON ../opencv
make -j4
Error log:
[ 1%] Building CXX object 3rdparty/carotene/hal/carotene/CMakeFiles/carotene_objs.dir/src/canny.cpp.o
In file included from /mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:14,
from /mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:12,
from /mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:11,
from /mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:8:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const signed char>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<signed char> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const signed char>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<signed char> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<signed char> > > > > >; RowTypes = {kleidicv::neon::Rows<const signed char>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<signed char>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const signed char>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = signed char; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:76:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
112 | LoopUnroll &unroll_once_if(CallbackType callback)
| ~~~~~~~~~~~~~^~~~~~~~
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const unsigned char>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<unsigned char> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const unsigned char>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<unsigned char> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<unsigned char> > > > > >; RowTypes = {kleidicv::neon::Rows<const unsigned char>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<unsigned char>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const unsigned char>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = unsigned char; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:77:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const short int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short int> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const short int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short int> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short int> > > > > >; RowTypes = {kleidicv::neon::Rows<const short int>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<short int>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const short int>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = short int; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:78:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const short unsigned int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short unsigned int> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const short unsigned int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short unsigned int> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<short unsigned int> > > > > >; RowTypes = {kleidicv::neon::Rows<const short unsigned int>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<short unsigned int>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const short unsigned int>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = short unsigned int; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:79:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<int> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const int>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<int> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<int> > > > > >; RowTypes = {kleidicv::neon::Rows<const int>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<int>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const int>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = int; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:80:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h: In instantiation of ‘kleidicv::neon::LoopUnroll& kleidicv::neon::LoopUnroll::unroll_once_if(CallbackType) [with bool Enable = false; CallbackType = kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const float>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<float> > > > >; size_t = long unsigned int]::<lambda(size_t)>]’:
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/operations.h:182:5: required from ‘void kleidicv::neon::RowBasedOperation<OperationType>::process_row(size_t, ColumnTypes ...) [with ColumnTypes = {kleidicv::neon::Columns<const float>}; OperationType = kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<float> > > > >; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/types.h:525:5: required from ‘void kleidicv::neon::zip_rows(OperationType&, kleidicv::neon::Rectangle, RowTypes ...) [with OperationType = kleidicv::neon::RowBasedOperation<kleidicv::neon::OperationContextAdapter<kleidicv::neon::RemainingPathAdapter<kleidicv::neon::OperationAdapter<kleidicv::neon::RemoveContextAdapter<kleidicv::neon::MinMax<float> > > > > >; RowTypes = {kleidicv::neon::Rows<const float>}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/neon.h:313:11: required from ‘void kleidicv::neon::apply_operation_by_rows(OperationType&, ArgTypes&& ...) [with OperationType = kleidicv::neon::MinMax<float>; ArgTypes = {kleidicv::neon::Rectangle&, kleidicv::neon::Rows<const float>&}]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:61:26: required from ‘kleidicv_error_t kleidicv::neon::min_max(const ScalarType*, size_t, size_t, size_t, ScalarType*, ScalarType*) [with ScalarType = float; size_t = long unsigned int]’
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp:81:1: required from here
/mnt/flashdrive/opencv_build/3rdparty/kleidicv/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/include/kleidicv/utils.h:112:43: error: parameter ‘callback’ set but not used [-Werror=unused-but-set-parameter]
cc1plus: all warnings being treated as errors
make[2]: *** [3rdparty/kleidicv/CMakeFiles/kleidicv_neon.dir/build.make:102: 3rdparty/kleidicv/CMakeFiles/kleidicv_neon.dir/kleidicv-83a66640a7a2cb2ab112c676fb80f655f44123c5/kleidicv/src/analysis/min_max_neon.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2206: 3rdparty/kleidicv/CMakeFiles/kleidicv_neon.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....