iovisor / iovisor/bcc

Failed to compile bcc on centos 7.9 (kernel 5.10.167)

Open
#4,768 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

[root@host build]# cmake3 ..
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/cc
-- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/c++
-- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Latest recognized Git tag is v0.28.0
-- Git HEAD is 8422cd449ad2e60414a4508aa4a150a9db39c4a3
-- Revision is 0.28.0+8422cd44 (major 0, minor 28, patch 0)
-- Performing Test HAVE_NO_PIE_FLAG
-- Performing Test HAVE_NO_PIE_FLAG - Success
-- Performing Test HAVE_REALLOCARRAY_SUPPORT
-- Performing Test HAVE_REALLOCARRAY_SUPPORT - Failed
-- Kernel release: 5.10.167
-- Kernel headers: /usr/src/kernels/5.10.167
-- Found LLVM: /usr/local/include 10.0.1 (Use LLVM_ROOT envronment variable for another version of LLVM)
-- Found BISON: /bin/bison (found version "3.0.4")
-- Found FLEX: /bin/flex (found version "2.5.37")
-- Found LibElf: /usr/lib64/libelf.so
-- Performing Test ELF_GETSHDRSTRNDX
-- Performing Test ELF_GETSHDRSTRNDX - Success
-- Could NOT find LibDebuginfod (missing: LIBDEBUGINFOD_LIBRARIES LIBDEBUGINFOD_INCLUDE_DIRS)
-- Could NOT find LibLzma (missing: LIBLZMA_LIBRARIES LIBLZMA_INCLUDE_DIRS)
-- Using static-libstdc++
-- Found LuaJIT: /usr/lib64/libluajit-5.1.so;/usr/lib64/libdl.so;/usr/lib64/libm.so
-- Configuring done
-- Generating done
-- Build files have been written to: /root/bcc/build

[ 70%] Built target man
/root/bcc/src/cc/common.cc: In function ‘ebpf::field_kind_t ebpf::_get_field_kind(const string&, std::string&, std::string&, int*)’:
/root/bcc/src/cc/common.cc:178:59: **error: no matching function for call to ‘std::basic_string::replace(long unsigned int, long unsigned int, std::basic_string&, int)’**
field_name.replace(pos1 + 1, pos2 - pos1 - 1, dim, 0);
^
In file included from /opt/rh/devtoolset-7/root/usr/include/c++/7/string:52:0,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/locale_classes.h:40,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/ios_base.h:41,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/ios:42,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/istream:38,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/fstream:38,
from /root/bcc/src/cc/common.cc:16:
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4683:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n, const basic_string& __str)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4683:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4705:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos1, size_type __n1, const basic_string& __str,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4705:7: note: candidate expects 5 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4730:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, const _CharT* __s,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4730:7: note: no known conversion for argument 3 from ‘std::basic_string’ to ‘const char*’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4750:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, const _CharT* __s)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4750:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4774:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4774:7: note: no known conversion for argument 3 from ‘std::basic_string’ to ‘std::basic_string::size_type {aka long unsigned int}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4792:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, const basic_string& __str)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4792:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4811:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4811:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4832:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, const _CharT* __s)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4832:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4853:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4853:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4877:9: note: candidate: template std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4877:9: note: template argument deduction/substitution failed:
/root/bcc/src/cc/common.cc:178:59: note: deduced conflicting types for parameter ‘_InputIterator’ (‘std::basic_string’ and ‘int’)
field_name.replace(pos1 + 1, pos2 - pos1 - 1, dim, 0);
^
In file included from /opt/rh/devtoolset-7/root/usr/include/c++/7/string:52:0,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/locale_classes.h:40,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/ios_base.h:41,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/ios:42,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/istream:38,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/fstream:38,
from /root/bcc/src/cc/common.cc:16:
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4890:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _CharT*, _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4890:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4900:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4900:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4911:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4911:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4921:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::basic_string<_CharT, _Traits, _Alloc>::const_iterator) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::const_pointer = const char*]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4921:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4946:21: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
basic_string& replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4946:21: note: candidate expects 3 arguments, 4 provided
/root/bcc/src/cc/common.cc: In function ‘ebpf::field_kind_t ebpf::_get_field_kind(const string&, std::string&, std::string&, int*)’:
/root/bcc/src/cc/common.cc:178:59: error: no matching function for call to ‘std::basic_string::replace(long unsigned int, long unsigned int, std::basic_string&, int)’
field_name.replace(pos1 + 1, pos2 - pos1 - 1, dim, 0);
^
In file included from /opt/rh/devtoolset-7/root/usr/include/c++/7/string:52:0,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/locale_classes.h:40,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/ios_base.h:41,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/ios:42,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/istream:38,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/fstream:38,
from /root/bcc/src/cc/common.cc:16:
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4683:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n, const basic_string& __str)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4683:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4705:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const std::basic_string<_CharT, _Traits, _Alloc>&, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos1, size_type __n1, const basic_string& __str,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4705:7: note: candidate expects 5 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4730:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, const _CharT* __s,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4730:7: note: no known conversion for argument 3 from ‘std::basic_string’ to ‘const char*’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4750:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, const _CharT* __s)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4750:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4774:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, std::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4774:7: note: no known conversion for argument 3 from ‘std::basic_string’ to ‘std::basic_string::size_type {aka long unsigned int}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4792:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, const basic_string& __str)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4792:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4811:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*, std::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4811:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4832:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, const _CharT* __s)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4832:7: note: candidate expects 3 arguments, 4 provided
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4853:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]
replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4853:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4877:9: note: candidate: template std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4877:9: note: template argument deduction/substitution failed:
/root/bcc/src/cc/common.cc:178:59: note: deduced conflicting types for parameter ‘_InputIterator’ (‘std::basic_string’ and ‘int’)
field_name.replace(pos1 + 1, pos2 - pos1 - 1, dim, 0);
^
In file included from /opt/rh/devtoolset-7/root/usr/include/c++/7/string:52:0,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/locale_classes.h:40,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/ios_base.h:41,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/ios:42,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/istream:38,
from /opt/rh/devtoolset-7/root/usr/include/c++/7/fstream:38,
from /root/bcc/src/cc/common.cc:16:
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4890:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _CharT*, _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4890:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4900:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, const _CharT*, const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4900:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4911:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4911:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4921:7: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::basic_string<_CharT, _Traits, _Alloc>::const_iterator) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*; std::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::const_pointer = const char*]
replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4921:7: note: no known conversion for argument 1 from ‘long unsigned int’ to ‘std::basic_string::iterator {aka __gnu_cxx::__normal_iterator >}’
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4946:21: note: candidate: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename _Alloc::rebind<_CharT>::other::pointer = char*]
basic_string& replace(iterator __i1, iterator __i2,
^~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:4946:21: note: candidate expects 3 arguments, 4 provided
make[2]: *** [src/cc/CMakeFiles/bpf-shared.dir/build.make:408: src/cc/CMakeFiles/bpf-shared.dir/common.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/cc/CMakeFiles/bpf-static.dir/build.make:408: src/cc/CMakeFiles/bpf-static.dir/common.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:831: src/cc/CMakeFiles/bcc-loader-static.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 70%] Built target api-objects
[ 70%] Linking CXX static library libapi-static.a
[ 70%] Built target api-static
[ 70%] Linking CXX static library libusdt-static.a
[ 70%] Built target usdt-static
make[1]: *** [CMakeFiles/Makefile2:858: src/cc/CMakeFiles/bpf-shared.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:917: src/cc/CMakeFiles/bpf-static.dir/all] Error 2
[ 70%] Built target clang_frontend-objects
make: *** [Makefile:161: all] Error 2

How can this be resolved?

Thanks.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/cc/common.cc around line 178 and reproduce the failure using the cmake3 build on CentOS 7.9 with the reported kernel and compiler setup. Inspect the reported std::string::replace call and confirm the build completes successfully after the issue is addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
centos, cmake, cpp, linux
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.