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

Build pymnn failed. 无法编译 pymnn #2640

Closed
owlwang opened this issue Oct 31, 2023 · 5 comments
Closed

Build pymnn failed. 无法编译 pymnn #2640

owlwang opened this issue Oct 31, 2023 · 5 comments
Labels
bug Something isn't working stale

Comments

@owlwang
Copy link

owlwang commented Oct 31, 2023

平台(如果交叉编译请再附上交叉编译目标平台):

Orangepi zero 3, 全志 H618 芯片 arm aarch64。

Linux orangepizero3 5.4.125 #1.0.2 SMP Fri Oct 13 09:28:28 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Python 3.10.12
cmake version 3.22.1

Github版本:

91ad395

编译方式:

编译命令

orangepi@orangepizero3:~/MNN/pymnn/pip_package$ pwd
/home/orangepi/MNN/pymnn/pip_package
orangepi@orangepizero3:~/MNN/pymnn/pip_package$ python3 build_deps.py

编译中途会报错退出:

-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- 3.19.0.0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Use Threadpool, forbid openmp
-- >>>>>>>>>>>>>
-- MNN BUILD INFO:
-- 	System: Linux
-- 	Processor: aarch64
-- 	Version: 2.7.2
-- 	Metal: OFF
-- 	OpenCL: ON
-- 	OpenGL: OFF
-- 	Vulkan: ON
-- 	ARM82: OFF
-- 	oneDNN: OFF
-- 	TensorRT: OFF
-- 	CoreML: OFF
-- 	NNAPI: OFF
-- 	CUDA: OFF
-- 	OpenMP: OFF
-- 	BF16:
-- 	ThreadPool: ON
-- 	Hidden: TRUE
-- 	Build Path: /home/orangepi/MNN/pymnn_build
-- 	CUDA PROFILE: OFF
-- WIN_USE_ASM:
-- Enabling AArch64 Assemblies
-- Onnx:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/orangepi/MNN/pymnn_build
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/AutoTime.cpp.o
[  2%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/color.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageProcess.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Backend.cpp.o
[  2%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/geometric.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BackendRegister.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/Matrix_CV.cpp.o
[  2%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/draw.cpp.o
[  2%] Built target MNNCV
[  2%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/filter.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BufferAllocator.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/ConvolutionCommon.cpp.o
[  4%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/miscellaneous.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Execution.cpp.o
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/structural.cpp.o
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgproc/histograms.cpp.o
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/calib3d/calib3d.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/FileLoader.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Interpreter.cpp.o

[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/MNNMemoryUtils.cpp.o
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/imgcodecs/imgcodecs.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/OpCommonUtils.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Pipeline.cpp.o
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/core/core.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/RuntimeFactory.cpp.o
[  6%] Building CXX object CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o
[  6%] Built target MNNOpenCV
[  6%] Building CXX object CMakeFiles/MNNMath.dir/source/math/WingoradGenerater.cpp.o
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/ConvertUtils.cpp.o
[  6%] Built target MNNMath
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBatchMatMul.cpp.o
In file included from /home/orangepi/MNN/include/MNN/Tensor.hpp:14,
                 from /home/orangepi/MNN/include/MNN/Interpreter.hpp:18,
                 from /home/orangepi/MNN/source/core/Schedule.hpp:13,
                 from /home/orangepi/MNN/source/core/Pipeline.hpp:12,
                 from /home/orangepi/MNN/source/core/Pipeline.cpp:10:
/home/orangepi/MNN/source/core/Pipeline.cpp: In member function ‘MNN::ErrorCode MNN::Pipeline::allocMemory(bool, bool)’:
/home/orangepi/MNN/source/core/Pipeline.cpp:964:86: warning: ‘this’ pointer is null [-Wnonnull]
  964 |                 MNN_ERROR("Resize error for type = %s, name = %s \n", iter.info->type().c_str(), iter.info->name().c_str());
      |                                                                       ~~~~~~~~~~~~~~~^~
/home/orangepi/MNN/include/MNN/MNNDefine.h:33:49: note: in definition of macro ‘MNN_ERROR’
   33 | #define MNN_ERROR(format, ...) printf(format, ##__VA_ARGS__)
      |                                                 ^~~~~~~~~~~
/home/orangepi/MNN/source/core/Pipeline.cpp:104:20: note: in a call to non-static member function ‘const string& MNN::OperatorInfo::type() const’
  104 | const std::string& OperatorInfo::type() const {
      |                    ^~~~~~~~~~~~
[  6%] Building CXX object CMakeFiles/MNNUtils.dir/source/utils/InitNet.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Schedule.cpp.o
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBinary.cpp.o
[  6%] Building CXX object CMakeFiles/MNNUtils.dir/source/utils/JNIHelper.cpp.o
[  6%] Built target MNNUtils
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBroadcastTo.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Session.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Tensor.cpp.o
[  8%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputer.cpp.o
[  8%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputerUtils.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCore.dir/source/core/TensorUtils.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCore.dir/source/core/WrapExecution.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUArgMax.cpp.o
[  8%] Built target MNNCore
[  8%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBackend.cpp.o
Scanning dependencies of target MNNARM64
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNAddC4WithStride.S.o
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNAvgPoolInt8.S.o
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNAxByClampBroadcastC4.S.o
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBilinearLineC8.S.o
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBilinearSampleC8.S.o
[  8%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinaryAddInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinaryMaxInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinaryMinInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinaryMulInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinarySqdInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBinarySubInt8.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBlitC1ToFloatRGBA.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNBlitC3ToFloatRGBA.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvDwF23MulTransUnit.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvDwF23SourceTransUnit.S.o
[ 10%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvRunForLineDepthWiseInt8.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvRunForLineDepthWiseUint8.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvRunForLineDepthwise.S.o
[ 12%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConcat.cpp.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvRunForUnitDepthWise.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNConvRunForUnitDepthWiseUint8.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNCopyC4WithStride.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNCubicLineC16.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNCubicSampleC16.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNDeconvRunForUnitDepthWise.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNExpC8.S.o
[ 12%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNFloat2Int8.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGelu.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_16x4_Unit.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV82_Unit.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV86_Unit.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNGemmint8to32_8x4_Unit.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNInt8ScaleToFloat.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNLineDepthWiseInt8AddBiasScaleUnit.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNLineDepthWiseInt8AddBiasScale_ARMV82_Unit3X3.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNLoadU8AndSum.S.o
[ 14%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMatrixAdd.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMatrixMax.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMatrixProd.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMatrixSub.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMaxFloat.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMaxPoolInt8.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNMinFloat.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNNV21ToBGRAUnit.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNNV21ToBGRUnit.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNNV21ToRGBAUnit.S.o
[ 17%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNNV21ToRGBUnit.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackC4.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackC4ForMatMul_A.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackC8.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedMatMul.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedMatMulRemain.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedSparseMatMulEpx1.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedSparseMatMulEpx4.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedSparseQuantMatMulEpx1.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPackedSparseQuantMatMulEpx4.S.o
[ 19%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNPowC8.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNQuanToDestUint8.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNReluInt8.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNReluWithSlopeChannel.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNReluWithSlopeChannelInt8.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNSamplerC1BilinearOpt.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNSamplerC1NearestOpt.S.o
[ 21%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNSamplerC4BilinearOpt.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNSamplerC4NearestOpt.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNScaleAddInt8.S.o
[ 21%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNScaleAndAddBias.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNScaleAndAddBiasInt8.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNSoftmax.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNStrassenMergeCFunction.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNTranspose32Bit4x4.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNUInt8ToInt16WithOffsetC4Common.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNUInt8ToInt16WithOffsetC4Fast.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNUnPackC4.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNVectorTop1Float.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNVectorTop1Int32.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNWinogradMatrixProductLeft.S.o
[ 23%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/MNNWinogradMatrixProductRight.S.o
[ 25%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/low_memory/MNNPackedMatMulRemain_int4.S.o
[ 25%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/low_memory/MNNPackedMatMulRemain_int8.S.o
[ 25%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/low_memory/MNNPackedMatMul_int4.S.o
[ 25%] Building ASM object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/arm64/low_memory/MNNPackedMatMul_int8.S.o
[ 25%] Building CXX object CMakeFiles/MNNARM64.dir/source/backend/cpu/arm/CommonOptFunctionNeon.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv2D.cpp.o
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In static member function ‘static void MNN::Math::Vec<int, 4>::transpose4(MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&)’:
/home/orangepi/MNN/source/math/Vec.hpp:288:97: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                                                                                                 ^
/home/orangepi/MNN/source/math/Vec.hpp:288:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:289:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  289 |         vec1.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:290:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  290 |         vec2.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:291:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  291 |         vec3.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  508 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  513 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  518 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  523 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  528 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
[ 25%] Built target MNNARM64
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv2DBackPropFilter.cpp.o
make[3]: *** [CMakeFiles/MNNCPU.dir/build.make:104: CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:416: CMakeFiles/MNNCPU.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv3D.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConvUtils.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConvert.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCosineSimilarity.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCrop.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCumSum.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDepthToSpace.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDet.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDilation2D.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryELU.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryFill.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryGather.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryImageOp.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryInnerProduct.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryLRN.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryLSTM.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryOPRegister.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPermute.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPoolGrad.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPooling3D.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReduce.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReshape.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReverseSequence.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryScatter.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySelect.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryShape.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySlice.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySpaceToBatchND.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySpatialProduct.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryStridedSlice.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTensorArray.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryThreshold.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTile.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTopK.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryUnary.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeArgMax.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBatchToSpaceND.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBinaryOp.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBroadcastTo.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCast.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConcat.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvTranspose3D.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvolution.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvolution3D.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCosineSimilarity.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCrop.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCropAndResize.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDeconvolution.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDepthToSpace.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDequantize.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDet.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDetectionOutput.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDetectionPostProcess.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeExpandDims.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeFill.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGatherND.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGatherV2.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGridSample.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeHistogram.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeInnerProduct.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeInterp.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeLSTM.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeLinSpace.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeMatMul.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeMoments.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeNonMaxSuppressionV2.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeOneHot.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePack.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePadding.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePermute.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePlugin.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePool.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePool3D.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePriorbox.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeProposal.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeQuantizedAvgPool.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeQuantizedMaxPool.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRNNSequenceGRU.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeROIAlign.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeROIPooling.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRandomUniform.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRange.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeReduction.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRegister.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeReshape.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeResize.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeScatterNd.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSegmentMean.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSelect.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSetDiff1D.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeShape.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSize.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSlice.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSliceTf.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSpaceToBatchND.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSpaceToDepth.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSqueeze.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeStridedSlice.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSvd.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTensorArray.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTensorConvert.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTile.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTopKV2.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTranspose.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnique.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnpack.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnravelIndex.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeWhere.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/SizeComputer.cpp.o
[ 48%] Built target MNNTransform
make[1]: *** [CMakeFiles/Makefile2:486: CMakeFiles/MNN.dir/rule] Error 2
make: *** [Makefile:260: MNN] Error 2
@owlwang
Copy link
Author

owlwang commented Oct 31, 2023

似乎和 #2638 是一样的问题

@jxt1234
Copy link
Collaborator

jxt1234 commented Nov 4, 2023

已知问题,等同步后看下有没修复

@jxt1234 jxt1234 added the bug Something isn't working label Nov 4, 2023
@owlwang
Copy link
Author

owlwang commented Nov 10, 2023

@jxt1234

已经更新最新代码, 依旧报错,没有修复。

In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In static member function ‘static void MNN::Math::Vec<int, 4>::transpose4(MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&)’:
/home/orangepi/MNN/source/math/Vec.hpp:288:97: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                                                                                                 ^
/home/orangepi/MNN/source/math/Vec.hpp:288:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:289:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  289 |         vec1.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:290:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  290 |         vec2.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:291:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  291 |         vec3.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  508 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  513 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  518 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  523 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  528 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/calib3d/calib3d.cpp.o
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputer.cpp.o
make[3]: *** [CMakeFiles/MNNCPU.dir/build.make:104: CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:416: CMakeFiles/MNNCPU.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputerUtils.cpp.o
      |                                int64x2_t
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  508 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}                                                                                                               513 |         VecType dst = { vbslq_s32(res, one, zero) };                                                                                                                           |                                        ^
                                                                                                                            |                                                   |
                                                                                                                            |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const’:
                                                                                                                                                         /home/orangepi/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
                                                                                                           518 |         VecType dst = { vbslq_s32(res, one, zero) };
                                                                                                               |                                                   ^
                                                                                                               |                                                   |
                                                                                                               |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const’:
                                                                                                                                                         /home/orangepi/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
                                                                                                           523 |         VecType dst = { vbslq_s32(res, one, zero) };
                                                                                                               |                                                   ^
                                                                                                               |                                                   |
                                                                                                               |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const’:
                                                                                                                                                         /home/orangepi/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
                                                                                                           528 |         VecType dst = { vbslq_s32(res, one, zero) };
                                                                                                               |                                                   ^
                                                                                                               |                                                   |
                                                                                                               |                                                   <brace-enclosed initializer list>
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/calib3d/calib3d.cpp.o
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputer.cpp.o
make[3]: *** [CMakeFiles/MNNCPU.dir/build.make:104: CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:416: CMakeFiles/MNNCPU.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputerUtils.cpp.o
  291 |         vec3.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  508 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  513 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  518 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  523 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  528 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
[  6%] Building CXX object tools/cv/CMakeFiles/MNNOpenCV.dir/source/calib3d/calib3d.cpp.o
[  6%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputer.cpp.o
make[3]: *** [CMakeFiles/MNNCPU.dir/build.make:104: CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:416: CMakeFiles/MNNCPU.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....

@owlwang
Copy link
Author

owlwang commented Nov 16, 2023

我看到昨天有更新,所以pull了下最新的代码。但是还是有error存在。无法编译。

@jxt1234 请问是这个commit吗?

commit: 8d5d8b8

error msg:

In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In static member function ‘static void MNN::Math::Vec<int, 4>::transpose4(MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&, MNN::Math::Vec<int, 4>::VecType&)’:
/home/orangepi/MNN/source/math/Vec.hpp:288:97: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                                                                                                 ^
/home/orangepi/MNN/source/math/Vec.hpp:288:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  288 |         vec0.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:289:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  289 |         vec1.value = vtrn1q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:290:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  290 |         vec2.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m0), reinterpret_cast<int64x2_t>(m2));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
/home/orangepi/MNN/source/math/Vec.hpp:291:32: error: cannot convert ‘int64x2_t’ to ‘int32x4_t’ in assignment
  291 |         vec3.value = vtrn2q_s64(reinterpret_cast<int64x2_t>(m1), reinterpret_cast<int64x2_t>(m3));
      |                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                int64x2_t
In file included from /home/orangepi/MNN/source/backend/cpu/CPUBinary.cpp:18:
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:508:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  508 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:513:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  513 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator<=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:518:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  518 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator>=(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:523:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  523 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>
/home/orangepi/MNN/source/math/Vec.hpp: In member function ‘MNN::Math::Vec<float, 4>::VecType MNN::Math::Vec<float, 4>::operator==(const VecType&) const’:
/home/orangepi/MNN/source/math/Vec.hpp:528:51: error: could not convert ‘{vbslq_s32(res, ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::one), ((int32x4_t)((const MNN::Math::Vec<float, 4>*)this)->MNN::Math::Vec<float, 4>::zero))}’ from ‘<brace-enclosed initializer list>’ to ‘MNN::Math::Vec<float, 4>::VecType’ {aka ‘MNN::Math::Vec<float, 4>’}
  528 |         VecType dst = { vbslq_s32(res, one, zero) };
      |                                                   ^
      |                                                   |
      |                                                   <brace-enclosed initializer list>

Copy link

Marking as stale. No activity in 60 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stale
Projects
None yet
Development

No branches or pull requests

2 participants