Bug 46440 - MySQL: ошибка сборки с GCC 13
Summary: MySQL: ошибка сборки с GCC 13
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: MySQL (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Николай Костригин
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-08 11:10 MSK by Alexey Sheplyakov
Modified: 2023-07-14 21:16 MSK (History)
8 users (show)

See Also:


Attachments
патч для stl_allocator-t.cc (4.44 KB, patch)
2023-06-08 15:53 MSK, Alexey Sheplyakov
no flags Details | Diff
патч про int64_t (5.52 KB, patch)
2023-06-08 16:01 MSK, Alexey Sheplyakov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2023-06-08 11:10:24 MSK
usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_logging.h:271:27: error: 'in
t64_t' is not a member of 'std'; did you mean 'int64_t'?
  271 |   static std::atomic<std::int64_t> m_debug_options;
      |                           ^~~~~~~
In file included from /usr/include/sys/types.h:155,
                 from /usr/include/stdlib.h:395,
                 from /usr/include/c++/13/cstdlib:79,
                 from /usr/include/c++/13/bits/stl_algo.h:71,
                 from /usr/include/c++/13/algorithm:61,
                 from /usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/src/interface/gcs_logging.cc:23:
/usr/include/bits/stdint-intn.h:27:19: note: 'int64_t' declared here
   27 | typedef __int64_t int64_t;
      |                   ^~~~~~~
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_logging.h:271:34: error: template argument 1 is invalid
  271 |   static std::atomic<std::int64_t> m_debug_options;
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:51:11: error: 'uint32_t' does not name a type
   51 |   virtual uint32_t get_minimum_write_concurrency() const = 0;
      |           ^~~~~~~~
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:28:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   27 | #include "plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_types.h"
  +++ |+#include <cstdint>
   28 |
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:56:11: error: 'uint32_t' does not name a type
   56 |   virtual uint32_t get_maximum_write_concurrency() const = 0;
      |           ^~~~~~~~
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:56:11: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:69:7: error: 'uint32_t' has not been declared
   69 |       uint32_t &write_concurrency) const = 0;
      |       ^~~~~~~~
/usr/src/RPM/BUILD/MySQL-8.0.30/plugin/group_replication/libmysqlgcs/include/mysql/gcs/gcs_group_management_interface.h:86:48: error: 'uint32_t' has not been declared
   86 |   virtual enum_gcs_error set_write_concurrency(uint32_t write_concurrency) = 0;
      |                                                ^~~~~~~~
Comment 1 Alexey Sheplyakov 2023-06-08 13:04:44 MSK
А также

In file included from /usr/include/c++/13/ext/alloc_traits.h:34,
                 from /usr/include/c++/13/bits/stl_uninitialized.h:64,
                 from /usr/include/c++/13/memory:69,
                 from /usr/src/RPM/BUILD/MySQL-8.0.30/extra/googletest/googletest-release-1.11.0/googletest/include/gtest/gtest.h:57,
                 from /usr/src/RPM/BUILD/MySQL-8.0.30/unittest/gunit/stl_alloc-t.cc:23:
/usr/include/c++/13/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind<stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> >, std::unique_ptr<int>, void>':
/usr/include/c++/13/bits/alloc_traits.h:94:11:   required by substitution of 'template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> >; _Up = std::unique_ptr<int>]'
/usr/include/c++/13/bits/alloc_traits.h:228:8:   required by substitution of 'template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = std::unique_ptr<int>; _Alloc = stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> >]'
/usr/include/c++/13/ext/alloc_traits.h:126:65:   required from 'struct __gnu_cxx::__alloc_traits<stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> >, std::unique_ptr<int> >::rebind<std::unique_ptr<int> >'
/usr/include/c++/13/bits/stl_vector.h:88:21:   required from 'struct std::_Vector_base<std::unique_ptr<int>, stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> > >'
/usr/include/c++/13/bits/stl_vector.h:423:11:   required from 'class std::vector<std::unique_ptr<int>, stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> > >'
/usr/src/RPM/BUILD/MySQL-8.0.30/unittest/gunit/stl_alloc-t.cc:406:43:   required from 'void stlalloc_unittest::STLAllocTestMoveOnly_MoveOnly_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = stlalloc_unittest::Mem_root_allocator_wrapper<std::unique_ptr<int> >]'
/usr/src/RPM/BUILD/MySQL-8.0.30/unittest/gunit/stl_alloc-t.cc:405:1:   required from here
/usr/include/c++/13/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
   70 |                         _Tp>::value,
      |                               ^~~~~
/usr/include/c++/13/bits/alloc_traits.h:70:31: note: 'std::integral_constant<bool, false>::value' evaluates to false
Comment 2 Alexey Sheplyakov 2023-06-08 15:53:26 MSK
Created attachment 13443 [details]
патч для stl_allocator-t.cc
Comment 3 Alexey Sheplyakov 2023-06-08 16:01:47 MSK
Created attachment 13444 [details]
патч про int64_t
Comment 4 Gleb F-Malinovskiy 2023-07-14 21:16:31 MSK
 Fri Jul 14 2023 Gleb F-Malinovskiy <glebfm@altlinux> 8.0.30-alt2                                                                                            
 - NMU: backported upstream commits to fix FTBFS with gcc13 (thx Tor Didriksen).