From 5bcc179bc4ac756e0a6c81cb19fffcc508ecbcd0 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 17 Sep 2018 22:22:59 +0800 Subject: [PATCH] rpm: bump up required GCC version to 7.3.1 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; _Alloc = std::allocator] 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; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::__sv_type = std::basic_string_view] operator+=(__sv_type __sv) ^~~~~~~~ Signed-off-by: Kefu Chai --- ceph.spec.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceph.spec.in b/ceph.spec.in index 15eefaee73b..97070b16ae4 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -143,7 +143,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