We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
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
Somewhat important, GCC-13 is the default compiler for modern (2024) Debian/Ubuntu distributions
x86_64
./build.sh --parallel 0 --skip_tests --config Release --build_dir $(pwd)/build
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.
No response
13.3.0
The text was updated successfully, but these errors were encountered:
No branches or pull requests
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
Error / output
Part of the output is cropped, but it's the same issue repeating multiple times :
Visual Studio Version
No response
GCC / Compiler Version
13.3.0
The text was updated successfully, but these errors were encountered: