Cannot compile Percona Xtrabackup branch 2.4 with gcc 10 (Debian Bullseye or Photon 4)

Hi,

I’ve tried compiling Percona Xtrabackup 2.4 in Photon 4 or Debian 11. The two of them have gcc 10 and in both cases I get compiler errors

Debian 11

[ 39%] Linking CXX executable xbstream
/usr/bin/ld: CMakeFiles/xbstream.dir/xbstream.c.o:/perc/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbstream.c:61: multiple definition of `datasink_buffer'; CMakeFiles/xbstream.dir/ds_buffer.c.o:/perc/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/ds_buffer.c:52: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [storage/innobase/xtrabackup/src/CMakeFiles/xbstream.dir/build.make:266: storage/innobase/xtrabackup/src/xbstream] Error 1
make[1]: *** [CMakeFiles/Makefile2:2798: storage/innobase/xtrabackup/src/CMakeFiles/xbstream.dir/all] Error 2
make: *** [Makefile:171: all] Error 2
root@b65d7636b046:/perc/percona-xtrabackup-2.4.24#

Photon 4

 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_read_open_filename.c:285:4: warning: '%S' directive argument is null [-Wformat-overflow=]
 blacksm ERROR [docker]   285 |    archive_set_error(a, errno, "Can't stat '%S'",
 blacksm ERROR [docker]       |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 blacksm ERROR [docker]   286 |        wfilename);
 blacksm ERROR [docker]       |        ~~~~~~~~~~
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_write_set_format_ar.c: In function 'archive_write_ar_header':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_write_set_format_ar.c:288:4: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 blacksm ERROR [docker]   288 |    strncpy(&buff[AR_name_offset], filename, strlen(filename));
 blacksm ERROR [docker]       |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_write_set_format_ar.c:287:7: note: length computed here
 blacksm ERROR [docker]   287 |   if (strlen(filename) <= 16 && strchr(filename, ' ') == NULL) {
 blacksm ERROR [docker]   227 |   if (strlen(filename) <= 15) {
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/bin/ld: CMakeFiles/xbstream.dir/xbstream.c.o:/bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbstream.c:61: multiple definition of `datasink_buffer'; CMakeFiles/xbstream.dir/ds_buffer.c.o:/bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/ds_buffer.c:52: first defined here
 blacksm ERROR [docker] In file included from /usr/include/c++/10.2.0/memory:83,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/http.h:29,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/http.cc:21:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<xbcloud::S3_signer>; <template-parameter-2-2> = void; _Tp = xbcloud::S3_signer; _Dp = std::default_delete<xbcloud::S3_signer>]':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/s3.h:177:32:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud::S3_signer; _Dp = std::default_delete<xbcloud::S3_signer>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] In file included from /usr/include/c++/10.2.0/memory:83,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/http.h:29,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/object_store.h:28,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/s3.h:24,
 blacksm ERROR [docker]                  from /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/xbcloud.cc:43:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<xbcloud::S3_signer>; <template-parameter-2-2> = void; _Tp = xbcloud::S3_signer; _Dp = std::default_delete<xbcloud::S3_signer>]':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/s3.h:177:32:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud::S3_signer, std::default_delete<xbcloud::S3_signer> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud::S3_signer; _Dp = std::default_delete<xbcloud::S3_signer>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] collect2: error: ld returned 1 exit status
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<xbcloud::Swift_signer>; <template-parameter-2-2> = void; _Tp = xbcloud::Swift_signer; _Dp = std::default_delete<xbcloud::Swift_signer>]':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/swift.h:165:32:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud::Swift_signer; _Dp = std::default_delete<xbcloud::Swift_signer>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] make[2]: *** [storage/innobase/xtrabackup/src/CMakeFiles/xbstream.dir/build.make:266: storage/innobase/xtrabackup/src/xbstream] Error 1
 blacksm ERROR [docker] make[1]: *** [CMakeFiles/Makefile2:2737: storage/innobase/xtrabackup/src/CMakeFiles/xbstream.dir/all] Error 2
 blacksm ERROR [docker] make[1]: *** Waiting for unfinished jobs....
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<xbcloud::Swift_signer>; <template-parameter-2-2> = void; _Tp = xbcloud::Swift_signer; _Dp = std::default_delete<xbcloud::Swift_signer>]':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/swift.h:165:32:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud::Swift_signer, std::default_delete<xbcloud::Swift_signer> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud::Swift_signer; _Dp = std::default_delete<xbcloud::Swift_signer>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr(std::nullptr_t) [with _Del = std::default_delete<xbcloud::Object_store>; <template-parameter-2-2> = void; _Tp = xbcloud::Object_store; _Dp = std::default_delete<xbcloud::Object_store>; std::nullptr_t = std::nullptr_t]':
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/xbcloud.cc:1057:48:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:321:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud::Object_store, std::default_delete<xbcloud::Object_store>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   321 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud::Object_store, std::default_delete<xbcloud::Object_store>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Object_store, std::default_delete<xbcloud::Object_store> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud::Object_store, std::default_delete<xbcloud::Object_store> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud::Object_store, std::default_delete<xbcloud::Object_store>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud::Object_store, std::default_delete<xbcloud::Object_store> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud::Object_store, std::default_delete<xbcloud::Object_store> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:321:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   321 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud::Object_store; _Dp = std::default_delete<xbcloud::Object_store>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h: In instantiation of 'constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>; <template-parameter-2-2> = void; _Tp = xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t; _Dp = std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>]':
 blacksm ERROR [docker] /usr/include/c++/10.2.0/tuple:1689:70:   required from 'std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) [with _Args1 = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&}; long unsigned int ..._Indexes1 = {0}; _Args2 = {}; long unsigned int ..._Indexes2 = {}; _T1 = const std::__cxx11::basic_string<char>; _T2 = std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/tuple:1678:63:   required from 'std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) [with _Args1 = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&}; _Args2 = {}; _T1 = const std::__cxx11::basic_string<char>; _T2 = std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/ext/new_allocator.h:150:4:   required from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >; _Args = {const std::piecewise_construct_t&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&>, std::tuple<>}; _Tp = std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, true>]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/alloc_traits.h:512:17:   required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >; _Args = {const std::piecewise_construct_t&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&>, std::tuple<>}; _Tp = std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, true>; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, true> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/hashtable_policy.h:2037:36:   required from 'std::__detail::_Hashtable_alloc<_NodeAlloc>::__node_type* std::__detail::_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&>, std::tuple<>}; _NodeAlloc = std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, true> >; std::__detail::_Hashtable_alloc<_NodeAlloc>::__node_type = std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, true> >::value_type]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/hashtable.h:272:35:   required from 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::_Scoped_node::_Scoped_node(std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::__hashtable_alloc*, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&>, std::tuple<>}; _Key = std::__cxx11::basic_string<char>; _Value = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> > >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::__cxx11::basic_string<char> >; _H1 = std::hash<std::__cxx11::basic_string<char> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::__hashtable_alloc = std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::__hashtable_alloc]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/hashtable_policy.h:739:42:   required from 'std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::mapped_type& std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::operator[](std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::key_type&&) [with _Key = std::__cxx11::basic_string<char>; _Pair = std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> > >; _Equal = std::equal_to<std::__cxx11::basic_string<char> >; _H1 = std::hash<std::__cxx11::basic_string<char> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>; std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::mapped_type = std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>; std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::key_type = std::__cxx11::basic_string<char>]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unordered_map.h:988:20:   required from 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type& std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>; _Hash = std::hash<std::__cxx11::basic_string<char> >; _Pred = std::equal_to<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::mapped_type = std::unique_ptr<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_type = std::__cxx11::basic_string<char>]'
 blacksm ERROR [docker] /bitnami/blacksmith-sandox/percona-xtrabackup-2.4.24/storage/innobase/xtrabackup/src/xbcloud/xbcloud.cc:713:46:   required from here
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: error: no matching function for call to 'std::__uniq_ptr_data<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>, true, true>::__uniq_ptr_data()'
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'std::__uniq_ptr_data<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >::pointer) [inherited from std::__uniq_ptr_impl<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >]'
 blacksm ERROR [docker]   210 |       using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
 blacksm ERROR [docker]       |                                        ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note: candidate: 'template<class _Del> std::__uniq_ptr_data<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t, std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t> >]'
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:210:40: note:   template argument deduction/substitution failed:
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:270:9: note:   candidate expects 2 arguments, 0 provided
 blacksm ERROR [docker]   270 |  : _M_t()
 blacksm ERROR [docker]       |         ^
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note: candidate: 'std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t; _Dp = std::default_delete<xbcloud_put(xbcloud::Object_store*, const string&, const string&, bool)::file_entry_t>; bool <anonymous> = true; bool <anonymous> = true]'
 blacksm ERROR [docker]   211 |       __uniq_ptr_data(__uniq_ptr_data&&) = default;
 blacksm ERROR [docker]       |       ^~~~~~~~~~~~~~~
 blacksm ERROR [docker] /usr/include/c++/10.2.0/bits/unique_ptr.h:211:7: note:   candidate expects 1 argument, 0 provided
 blacksm ERROR [docker] make[2]: *** [storage/innobase/xtrabackup/src/xbcloud/CMakeFiles/xbcloud.dir/build.make:82: storage/innobase/xtrabackup/src/xbcloud/CMakeFiles/xbcloud.dir/xbcloud.cc.o] Error 1
 blacksm ERROR [docker] make[2]: *** Waiting for unfinished jobs....
 blacksm ERROR [docker] make[2]: *** [storage/innobase/xtrabackup/src/xbcloud/CMakeFiles/xbcloud.dir/build.make:108: storage/innobase/xtrabackup/src/xbcloud/CMakeFiles/xbcloud.dir/http.cc.o] Error 1
 blacksm ERROR [docker] make[1]: *** [CMakeFiles/Makefile2:3634: storage/innobase/xtrabackup/src/xbcloud/CMakeFiles/xbcloud.dir/all] Error 2
 blacksm ERROR [docker] make: *** [Makefile:171: all] Error 2
 blacksm ERROR The process failed: StatusCode=1
 
 You can review the installation log under /home/agent/workspace/Releases/compiled/percona-xtrabackup/photon-4/2.4/74/compilation/blacksmith-builds/percona-xtrabackup-2.4.24/logs/build.log as well as other temporary files under /home/agent/workspace/Releases/compiled/percona-xtrabackup/photon-4/2.4/74/compilation/blacksmith-builds/percona-xtrabackup-2.4.24/root
 blacksm DEBUG Temporary container successfully deleted
 /home/agent/workspace/Releases/compiled/percona-xtrabackup/photon-4/2.4/74/projects/blacksmith-wrapper/lib/find-summary-file.js:13
     throw new Error(`Unable to find summary file matching "${searchTerm}" in ${artifactsDir}`);
     ^
 

Is this branch compatible with gcc 10?

Thank you in advance

1 Like

Hi @jsalmeron

We are aware of it. We have a bug to track the progress on this issue - [PXB-2649] xbcloud issues on gcc 10 - Percona JIRA .

Just to clarify. PXB 2.4 is based on MySQL 5.7 - at this moment, Oracle MySQL does not support Debian 11.

2 Likes

Hi @jsalmeron - Just to let you know that PXB-2649 has been fixed. You should be able to compile it with GCC 10 now.

1 Like