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] Onnxruntime v1.21.0 fails to build with GCC-13 #24290

Open
maxmarsc opened this issue Apr 3, 2025 · 0 comments
Open

[Build] Onnxruntime v1.21.0 fails to build with GCC-13 #24290

maxmarsc opened this issue Apr 3, 2025 · 0 comments
Labels
build build issues; typically submitted using template

Comments

@maxmarsc
Copy link

maxmarsc commented Apr 3, 2025

Describe the issue

OS : Kubuntu 24.04
Compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Arch: x86_64
Onnxruntime version: v1.21.0

When using the default setup to build Onnxruntime on Kubuntu 24.04, the build fails

Urgency

Somewhat important, GCC-13 is the default compiler for modern (2024) Debian/Ubuntu distributions

Target platform

x86_64

Build script

./build.sh --parallel 0 --skip_tests  --config Release --build_dir $(pwd)/build

Error / output

Part of the output is cropped, but it's the same issue repeating multiple times :

In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/pmmintrin.h:31,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/opt_random.h:34,
                 from /usr/include/c++/13/random:52,
                 from /foo/onnxruntime/build/Release/_deps/abseil_cpp-src/absl/algorithm/container.h:47,
                 from /foo/onnxruntime/build/Release/_deps/abseil_cpp-src/absl/container/flat_hash_map.h:40,
                 from /foo/onnxruntime/build/Release/_deps/abseil_cpp-src/absl/flags/reflection.h:29,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googletest/include/gtest/internal/gtest-port.h:343,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googlemock/include/gmock/internal/gmock-port.h:57,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googlemock/include/gmock/internal/gmock-internal-utils.h:50,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googlemock/include/gmock/gmock-actions.h:146,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googlemock/include/gmock/gmock.h:56,
                 from /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:4:
In function ‘void _mm_store_si128(__m128i*, __m128i)’,
    inlined from ‘void Eigen::internal::pstore(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/arch/AVX/PacketMath.h:2238:18,
    inlined from ‘void Eigen::internal::pstoret(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>; int Alignment = 16]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/GenericPacketMath.h:1357:11,
    inlined from ‘void Eigen::internal::assign_op<DstScalar, SrcScalar>::assignPacket(DstScalar*, const Packet&) const [with int Alignment = 16; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstScalar = Eigen::half; SrcScalar = Eigen::half]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/functors/AssignmentFunctors.h:30:52,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; int Version = 0]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:609:47,
    inlined from ‘static constexpr void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >, Eigen::internal::assign_op<Eigen::half, Eigen::half>, 0>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:399:75,
    inlined from ‘constexpr void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:705:37,
    inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; Weak = void]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:855:31,
    inlined from ‘constexpr void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:797:51,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, std::enable_if_t<(! evaluator_assume_aliasing<Src>::value), void*>) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:768:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:750:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/Assign.h:59:28,
    inlined from ‘void onnxruntime::test::ConvertFloatToMLFloat16(const float*, onnxruntime::MLFloat16*, size_t)’ at /foo/onnxruntime/onnxruntime/test/providers/provider_test_utils.h:15:56,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_NegtiveVals_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:675:26:
/usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:736:8: error: array subscript ‘__m128i[0]’ is partly outside array bounds of ‘unsigned char [8]’ [-Werror=array-bounds=]
  736 |   *__P = __B;
      |   ~~~~~^~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h:33,
                 from /usr/include/c++/13/bits/allocator.h:46,
                 from /usr/include/c++/13/bits/alloc_traits.h:39,
                 from /usr/include/c++/13/ext/alloc_traits.h:34,
                 from /usr/include/c++/13/bits/hashtable_policy.h:39,
                 from /usr/include/c++/13/bits/hashtable.h:35,
                 from /usr/include/c++/13/bits/unordered_map.h:33,
                 from /usr/include/c++/13/unordered_map:41,
                 from /usr/include/c++/13/functional:63,
                 from /foo/onnxruntime/build/Release/_deps/googletest-src/googlemock/include/gmock/gmock-actions.h:139:
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = onnxruntime::MLFloat16]’,
    inlined from ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(allocator_type&, size_type) [with _Tp = onnxruntime::MLFloat16]’ at /usr/include/c++/13/bits/alloc_traits.h:482:28,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:381:33,
    inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:398:44,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:335:26,
    inlined from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:557:47,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_NegtiveVals_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:673:41:
/usr/include/c++/13/bits/new_allocator.h:151:55: note: at offset [0, 6] into object of size 8 allocated by ‘operator new’
  151 |         return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
      |                                                       ^
In function ‘void _mm_store_si128(__m128i*, __m128i)’,
    inlined from ‘void Eigen::internal::pstore(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/arch/AVX/PacketMath.h:2238:18,
    inlined from ‘void Eigen::internal::pstoret(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>; int Alignment = 16]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/GenericPacketMath.h:1357:11,
    inlined from ‘void Eigen::internal::assign_op<DstScalar, SrcScalar>::assignPacket(DstScalar*, const Packet&) const [with int Alignment = 16; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstScalar = Eigen::half; SrcScalar = Eigen::half]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/functors/AssignmentFunctors.h:30:52,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; int Version = 0]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:609:47,
    inlined from ‘static constexpr void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >, Eigen::internal::assign_op<Eigen::half, Eigen::half>, 0>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:399:75,
    inlined from ‘constexpr void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:705:37,
    inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; Weak = void]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:855:31,
    inlined from ‘constexpr void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:797:51,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, std::enable_if_t<(! evaluator_assume_aliasing<Src>::value), void*>) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:768:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:750:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/Assign.h:59:28,
    inlined from ‘void onnxruntime::test::ConvertFloatToMLFloat16(const float*, onnxruntime::MLFloat16*, size_t)’ at /foo/onnxruntime/onnxruntime/test/providers/provider_test_utils.h:15:56,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_NegtiveVals_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:674:26:
/usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:736:8: error: array subscript ‘__m128i[0]’ is partly outside array bounds of ‘unsigned char [12]’ [-Werror=array-bounds=]
  736 |   *__P = __B;
      |   ~~~~~^~~~~
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = onnxruntime::MLFloat16]’,
    inlined from ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(allocator_type&, size_type) [with _Tp = onnxruntime::MLFloat16]’ at /usr/include/c++/13/bits/alloc_traits.h:482:28,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:381:33,
    inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:398:44,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:335:26,
    inlined from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:557:47,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_NegtiveVals_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:672:38:
/usr/include/c++/13/bits/new_allocator.h:151:55: note: at offset [0, 10] into object of size 12 allocated by ‘operator new’
  151 |         return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
      |                                                       ^
In function ‘void _mm_store_si128(__m128i*, __m128i)’,
    inlined from ‘void Eigen::internal::pstore(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/arch/AVX/PacketMath.h:2238:18,
    inlined from ‘void Eigen::internal::pstoret(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>; int Alignment = 16]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/GenericPacketMath.h:1357:11,
    inlined from ‘void Eigen::internal::assign_op<DstScalar, SrcScalar>::assignPacket(DstScalar*, const Packet&) const [with int Alignment = 16; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstScalar = Eigen::half; SrcScalar = Eigen::half]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/functors/AssignmentFunctors.h:30:52,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; int Version = 0]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:609:47,
    inlined from ‘static constexpr void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >, Eigen::internal::assign_op<Eigen::half, Eigen::half>, 0>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:399:75,
    inlined from ‘constexpr void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:705:37,
    inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; Weak = void]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:855:31,
    inlined from ‘constexpr void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:797:51,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, std::enable_if_t<(! evaluator_assume_aliasing<Src>::value), void*>) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:768:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:750:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/Assign.h:59:28,
    inlined from ‘void onnxruntime::test::ConvertFloatToMLFloat16(const float*, onnxruntime::MLFloat16*, size_t)’ at /foo/onnxruntime/onnxruntime/test/providers/provider_test_utils.h:15:56,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:658:26:
/usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:736:8: error: array subscript ‘__m128i[0]’ is partly outside array bounds of ‘unsigned char [8]’ [-Werror=array-bounds=]
  736 |   *__P = __B;
      |   ~~~~~^~~~~
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = onnxruntime::MLFloat16]’,
    inlined from ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(allocator_type&, size_type) [with _Tp = onnxruntime::MLFloat16]’ at /usr/include/c++/13/bits/alloc_traits.h:482:28,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:381:33,
    inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:398:44,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:335:26,
    inlined from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:557:47,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:656:41:
/usr/include/c++/13/bits/new_allocator.h:151:55: note: at offset [0, 6] into object of size 8 allocated by ‘operator new’
  151 |         return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
      |                                                       ^
In function ‘void _mm_store_si128(__m128i*, __m128i)’,
    inlined from ‘void Eigen::internal::pstore(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/arch/AVX/PacketMath.h:2238:18,
    inlined from ‘void Eigen::internal::pstoret(Scalar*, const Packet&) [with Scalar = Eigen::half; Packet = eigen_packet_wrapper<__vector(2) long long int, 2>; int Alignment = 16]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/GenericPacketMath.h:1357:11,
    inlined from ‘void Eigen::internal::assign_op<DstScalar, SrcScalar>::assignPacket(DstScalar*, const Packet&) const [with int Alignment = 16; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstScalar = Eigen::half; SrcScalar = Eigen::half]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/functors/AssignmentFunctors.h:30:52,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; Packet = Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 2>; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; int Version = 0]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:609:47,
    inlined from ‘static constexpr void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> > >, Eigen::internal::evaluator<Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > > >, Eigen::internal::assign_op<Eigen::half, Eigen::half>, 0>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:399:75,
    inlined from ‘constexpr void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:705:37,
    inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Functor = Eigen::internal::assign_op<Eigen::half, Eigen::half>; Weak = void]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:855:31,
    inlined from ‘constexpr void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:797:51,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, std::enable_if_t<(! evaluator_assume_aliasing<Src>::value), void*>) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = assign_op<Eigen::half, Eigen::half>]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:768:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::CwiseUnaryOp<core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/AssignEvaluator.h:750:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<Eigen::internal::core_cast_op<float, Eigen::half>, const Eigen::Map<const Eigen::Matrix<float, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Map<Eigen::Matrix<Eigen::half, -1, 1, 0, -1, 1>, 0, Eigen::Stride<0, 0> >]’ at /foo/onnxruntime/build/Release/_deps/eigen-src/Eigen/src/Core/Assign.h:59:28,
    inlined from ‘void onnxruntime::test::ConvertFloatToMLFloat16(const float*, onnxruntime::MLFloat16*, size_t)’ at /foo/onnxruntime/onnxruntime/test/providers/provider_test_utils.h:15:56,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:657:26:
/usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:736:8: error: array subscript ‘__m128i[0]’ is partly outside array bounds of ‘unsigned char [12]’ [-Werror=array-bounds=]
  736 |   *__P = __B;
      |   ~~~~~^~~~~
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = onnxruntime::MLFloat16]’,
    inlined from ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(allocator_type&, size_type) [with _Tp = onnxruntime::MLFloat16]’ at /usr/include/c++/13/bits/alloc_traits.h:482:28,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:381:33,
    inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:398:44,
    inlined from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:335:26,
    inlined from ‘std::vector<_Tp, _Alloc>::vector(size_type, const allocator_type&) [with _Tp = onnxruntime::MLFloat16; _Alloc = std::allocator<onnxruntime::MLFloat16>]’ at /usr/include/c++/13/bits/stl_vector.h:557:47,
    inlined from ‘virtual void onnxruntime::test::TopKOperator_NthElementHalf_Test::TestBody()’ at /foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc:655:38:
/usr/include/c++/13/bits/new_allocator.h:151:55: note: at offset [0, 10] into object of size 12 allocated by ‘operator new’
  151 |         return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
      |                                                       ^
cc1plus: all warnings being treated as errors
cc1plus: all warnings being treated as errors
gmake[2]: *** [CMakeFiles/onnxruntime_test_all.dir/build.make:3887: CMakeFiles/onnxruntime_test_all.dir/foo/onnxruntime/onnxruntime/test/providers/cpu/tensor/gather_nd_op_test.cc.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/onnxruntime_test_all.dir/build.make:3047: CMakeFiles/onnxruntime_test_all.dir/foo/onnxruntime/onnxruntime/test/providers/cpu/math/topk_op_test.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1939: CMakeFiles/onnxruntime_test_all.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
Traceback (most recent call last):
  File "/foo/onnxruntime/tools/ci_build/build.py", line 3312, in <module>
    sys.exit(main())
  File "/foo/onnxruntime/tools/ci_build/build.py", line 3207, in main
    build_targets(args, cmake_path, build_dir, configs, num_parallel_jobs, args.target)
  File "/foo/onnxruntime/tools/ci_build/build.py", line 2006, in build_targets
    run_subprocess(cmd_args, env=env)
  File "/foo/onnxruntime/tools/ci_build/build.py", line 906, in run_subprocess
    return run(*args, cwd=cwd, capture_stdout=capture_stdout, shell=shell, env=my_env)
  File "/foo/onnxruntime/tools/python/util/run.py", line 50, in run
    completed_process = subprocess.run(
  File "/home/maxime/miniconda3/envs/rt-machine-cpp-dev/lib/python3.9/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/maxime/miniconda3/envs/rt-machine-cpp-dev/bin/cmake', '--build', '/foo/onnxruntime/build/Release', '--config', 'Release', '--', '-j20']' returned non-zero exit status 2.

Visual Studio Version

No response

GCC / Compiler Version

13.3.0

@maxmarsc maxmarsc added the build build issues; typically submitted using template label Apr 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build build issues; typically submitted using template
Projects
None yet
Development

No branches or pull requests

1 participant