Hi, could you provide the instructions to build rp++? I used to compile without errors, but when I pulled the latest commit today, things started going wrong showed as follows:
[ 4%] Building CXX object CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o
/usr/bin/c++ -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp
In file included from /root/tools/rp/./src/inc/toolbox.hpp:28:0,
from /root/tools/rp/./src/inc/macho_struct.hpp:24,
from /root/tools/rp/./src/inc/macho.hpp:23,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’
std::list<std::shared_ptr<Instruction>> get_instructions(void);
^
/root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: a function call cannot appear in a constant-expression
std::list<std::shared_ptr<Instruction>> get_instructions(void);
^
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 1 is invalid
/root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 2 is invalid
/root/tools/rp/./src/inc/gadget.hpp:107:14: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
std::shared_ptr<Instruction> get_ending_instruction(void);
^
/root/tools/rp/./src/inc/gadget.hpp:115:40: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
bool operator()(const std::shared_ptr<Gadget> g, const std::shared_ptr<Gadget> d) const
^
/root/tools/rp/./src/inc/gadget.hpp:115:50: error: expected ‘,’ or ‘...’ before ‘<’ token
bool operator()(const std::shared_ptr<Gadget> g, const std::shared_ptr<Gadget> d) const
^
/root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’
std::list<std::shared_ptr<Instruction>> m_instructions; /*!< the list of the different instructions composing the gadget*/
^
/root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: ‘m_instructions’ was not declared in this scope
std::list<std::shared_ptr<Instruction>> m_instructions; /*!< the list of the different instructions composing the gadget*/
^
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 1 is invalid
/root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 2 is invalid
/root/tools/rp/./src/inc/gadget.hpp: In member function ‘bool Gadget::Sort::operator()(int) const’:
/root/tools/rp/./src/inc/gadget.hpp:117:24: error: ‘g’ was not declared in this scope
return g->get_disassembly() < d->get_disassembly();
^
/root/tools/rp/./src/inc/gadget.hpp:117:47: error: ‘d’ was not declared in this scope
return g->get_disassembly() < d->get_disassembly();
^
In file included from /root/tools/rp/./src/inc/macho_struct.hpp:24:0,
from /root/tools/rp/./src/inc/macho.hpp:23,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/toolbox.hpp: At global scope:
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:31: error: variable or field ‘only_unique_gadgets’ declared void
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:77: error: expected primary-expression before ‘>’ token
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:80: error: ‘list_gadgets’ was not declared in this scope
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 1 is invalid
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 2 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 3 is invalid
/root/tools/rp/./src/inc/toolbox.hpp:98:140: error: expected primary-expression before ‘>’ token
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
/root/tools/rp/./src/inc/toolbox.hpp:98:143: error: ‘unique_gadgets’ was not declared in this scope
void only_unique_gadgets(std::multiset<std::shared_ptr<Gadget>, Gadget::Sort> &list_gadgets, std::set<std::shared_ptr<Gadget>, Gadget::Sort> &unique_gadgets);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’
virtual std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:273:93: error: a function call cannot appear in a constant-expression
virtual std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: an assignment cannot appear in a constant-expression
virtual std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:273:18: error: ‘virtual’ can only be specified for functions
virtual std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file) = 0;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: ‘>>’ should be ‘> >’ within a nested template argument list
std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:282:55: error: expected unqualified-id before ‘>’ token
std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>> seg_commands;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vector<std::shared_ptr<RP_SECTION<T>>> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: ‘>>’ should be ‘> >’ within a nested template argument list
std::vector<std::shared_ptr<RP_SECTION<T>>> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:283:47: error: expected unqualified-id before ‘>’ token
std::vector<std::shared_ptr<RP_SECTION<T>>> sections;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’
typedef typename std::vector<std::shared_ptr<RP_SECTION<T>>>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef typename std::vector<std::shared_ptr<RP_SECTION<T>>>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected identifier before ‘>’ token
typedef typename std::vector<std::shared_ptr<RP_SECTION<T>>>::const_iterator iter_rp_section;
^
/root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected unqualified-id before ‘>’ token
/root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’
typedef typename std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: ‘>>’ should be ‘> >’ within a nested template argument list
typedef typename std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected identifier before ‘>’ token
typedef typename std::vector<std::shared_ptr<RP_SEGMENT_COMMAND<T>>>::const_iterator iter_rp_segment;
^
/root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected unqualified-id before ‘>’ token
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’
std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file)
^
/root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: a function call cannot appear in a constant-expression
std::vector<std::shared_ptr<Section>> get_executable_section(std::ifstream &file)
^
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 1 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 2 is invalid
/root/tools/rp/./src/inc/macho_struct.hpp:359:5: error: expected unqualified-id before ‘{’ token
{
^
/root/tools/rp/src/macho.cpp:106:1: error: expected ‘}’ at end of input
}
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout<T>::fill_structures(std::ifstream&)’:
/root/tools/rp/./src/inc/macho_struct.hpp:317:21: error: ‘shared_ptr’ is not a member of ‘std’
std::shared_ptr<RP_SEGMENT_COMMAND<T>> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:317:57: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
std::shared_ptr<RP_SEGMENT_COMMAND<T>> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:317:60: error: expected primary-expression before ‘seg_cmd’
std::shared_ptr<RP_SEGMENT_COMMAND<T>> seg_cmd = std::make_shared<RP_SEGMENT_COMMAND<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:319:38: error: ‘seg_cmd’ was not declared in this scope
file.read((char*)seg_cmd.get(), sizeof(RP_SEGMENT_COMMAND<T>));
^
/root/tools/rp/./src/inc/macho_struct.hpp:320:21: error: ‘seg_commands’ was not declared in this scope
seg_commands.push_back(seg_cmd);
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘_stricmp’ must be available [-fpermissive]
if(_stricmp((char*)seg_cmd->segname, "__TEXT") == 0)
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/root/tools/rp/./src/inc/macho_struct.hpp:333:25: error: ‘shared_ptr’ is not a member of ‘std’
std::shared_ptr<RP_SECTION<T>> sect = std::make_shared<RP_SECTION<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:333:53: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
std::shared_ptr<RP_SECTION<T>> sect = std::make_shared<RP_SECTION<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:333:56: error: expected primary-expression before ‘sect’
std::shared_ptr<RP_SECTION<T>> sect = std::make_shared<RP_SECTION<T>>();
^
/root/tools/rp/./src/inc/macho_struct.hpp:335:42: error: ‘sect’ was not declared in this scope
file.read((char*)sect.get(), sizeof(RP_SECTION<T>));
^
/root/tools/rp/./src/inc/macho_struct.hpp:336:25: error: ‘sections’ was not declared in this scope
sections.push_back(sect);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: At global scope:
/root/tools/rp/./src/inc/macho_struct.hpp:356:5: error: expected unqualified-id at end of input
}
^
CMakeFiles/rp-lin-x64.dir/build.make:57: recipe for target 'CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o' failed
make[2]: *** [CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o] Error 1
CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/rp-lin-x64.dir/all' failed
make[1]: *** [CMakeFiles/rp-lin-x64.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2
:( rp # /usr/bin/c++ -std=c++0x -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout<T>::fill_structures(std::ifstream&)’:
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘_stricmp’ must be available [-fpermissive]
if(_stricmp((char*)seg_cmd->segname, "__TEXT") == 0)
^
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout<T>::fill_structures(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream<char>]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vector<std::shared_ptr<Section> > MachoArchLayout<T>::get_executable_section(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream<char>]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*<const std::shared_ptr<RP_SECTION<unsigned int> >*, std::vector<std::shared_ptr<RP_SECTION<unsigned int> >, std::allocator<std::shared_ptr<RP_SECTION<unsigned int> > > > >())->std::shared_ptr<RP_SECTION<unsigned int> >::<anonymous>.std::__shared_ptr<_Tp, _Lp>::operator-><RP_SECTION<unsigned int>, (__gnu_cxx::_Lock_policy)2u>()->RP_SECTION<unsigned int>::offset’ to ‘unsigned int&’
);
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout<T>::fill_structures(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream<char>]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope
if(_stricmp((char*)seg_cmd->segname, "__TEXT") == 0)
^
In file included from /root/tools/rp/./src/inc/macho.hpp:23:0,
from /root/tools/rp/src/macho.cpp:20:
/root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vector<std::shared_ptr<Section> > MachoArchLayout<T>::get_executable_section(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream<char>]’:
/root/tools/rp/src/macho.cpp:106:1: required from here
/root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*<const std::shared_ptr<RP_SECTION<long long unsigned int> >*, std::vector<std::shared_ptr<RP_SECTION<long long unsigned int> >, std::allocator<std::shared_ptr<RP_SECTION<long long unsigned int> > > > >())->std::shared_ptr<RP_SECTION<long long unsigned int> >::<anonymous>.std::__shared_ptr<_Tp, _Lp>::operator-><RP_SECTION<long long unsigned int>, (__gnu_cxx::_Lock_policy)2u>()->RP_SECTION<long long unsigned int>::offset’ to ‘unsigned int&’
);
^
Thanks.