]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rpm: bump up required GCC version to 7.3.1
authorKefu Chai <kchai@redhat.com>
Mon, 17 Sep 2018 14:22:59 +0000 (22:22 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 22 Feb 2019 15:37:20 +0000 (16:37 +0100)
so we can include the fix of
https://gcc.gnu.org/ml/libstdc++/2017-07/msg00077.html and the fix at
https://github.com/gcc-mirror/gcc/commit/7c78f2e67270187dd755632eafe3a526f4e6df30
. otherwise, if a class offers implicit conversion operator to
std::string and std::string_view, seastar will fail to compile. like

/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:3946:7:
note: candidate: std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits, _Alloc>::operator+=(const
std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char;
_Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
       operator+=(const basic_string& __str)
       ^~~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:3988:7:
note: candidate: std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits,
_Alloc>::operator+=(std::basic_string<_CharT, _Traits,
_Alloc>::__sv_type) [with _CharT = char; _Traits =
std::char_traits<char>; _Alloc = std::allocator<char>;
std::basic_string<_CharT, _Traits, _Alloc>::__sv_type =
std::basic_string_view<char>]
       operator+=(__sv_type __sv)
       ^~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 5bcc179bc4ac756e0a6c81cb19fffcc508ecbcd0)

ceph.spec.in

index 2b6ec7907b5314f7a076d5fd777ad4b4dea2513d..4b65d36c0382a79c9f5adcc2801600e19829f0c8 100644 (file)
@@ -131,7 +131,7 @@ BuildRequires:      fuse-devel
 %if 0%{?rhel} == 7
 # devtoolset offers newer make and valgrind-devel, but the old ones are good
 # enough.
-BuildRequires: devtoolset-7-gcc-c++
+BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1
 %else
 BuildRequires: gcc-c++
 %endif