I'm trying to compile my fork of RCBot2
(a hybrid MM:S plugin and SourceMod extension), and it reports the following error message on the current Debian (Buster) release using Clang:
In file included from /home/user/alliedmodders/rcbot2/utils/RCBot2_meta/bot_plugin_meta.cpp:40:
In file included from /home/user/alliedmodders/rcbot2/utils/RCBot2_meta/bot.h:68:
In file included from /home/user/alliedmodders/rcbot2/utils/RCBot2_meta/bot_utility.h:37:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/vector:60:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_pair.h:428:13: error: no member named 'swap' in namespace 'std'
A similar error among others is displayed on GCC:
In file included from /usr/include/c++/8/bits/stl_algobase.h:64,
/usr/include/c++/8/bits/stl_pair.h: In member function ‘void std::pair<_T1, _T2>::swap(std::pair<_T1, _T2>&)’:
/usr/include/c++/8/bits/stl_pair.h:428:13: error: ‘std::swap’ has not been declared
Full error message is available in this issue
. It's known to compile against the older Debian 8 and Ubuntu 16.04 without any changes. Google comes up with no results on this particular error, and similar issues don't seem to fit this problem.
Any ideas of where to go from here? Very lost since the compile error appears to happen within the standard library. Compiling a short C++ file using clang++
with the algorithm
includes does work no problem.
Would prefer to stick to c++11.