Doesn't build on CentOS 7 nor Ubuntu 20.04
Created by: tommythorn
On CentOS Linux 7 (Core). Cloned the repo (HEAD is at 34d8384e).
$ export FORCE_CC=/usr/bin/g++
$ export FORCE_PYTHON_VER=3.6
$ export FORCE_PYTHON_LIB=/usr/lib/x86_64-linux-gnu/
$ export FORCE_PYTHON_INC=/usr/include/python3.6m
$ make
...
/usr/bin/g++ -c -Wall -std=c++11 -gdwarf-3 -m64 -Werror -O2 -Weffc++ -fvisibility=hidden -D 'ARCH_ENUM_HEADER=<EnumsRISCV.h>' -I./inc -I../base/inc -I../3rd_party/inc -I/usr/include/python3.6m -o make_area/obj/TopLevelResources.o ../base/src/TopLevelResources.cc
../base/src/TopLevelResources.cc:47:10: error: base class ‘struct option::Arg’ has a non-virtual destructor [-Werror=effc++]
struct Arg: public option::Arg
^
On Ubuntu 20.04, same repo, but using Python 3.8:
/usr/bin/g++ -c -Wall -std=c++11 -gdwarf-3 -m64 -Werror -O2 -Weffc++ -fvisibility=hidden -D 'ARCH_ENUM_HEADER=<EnumsRISCV.h>' -I./inc -I../base/inc -I../3rd_party/inc -I/usr/include/python3.8/ -o make_area/obj/UtilityFunctions.o ../base/src/UtilityFunctions.cc
../base/src/UtilityFunctions.cc: In function ‘Force::uint32 Force::get_shift_amount(const string&)’:
../base/src/UtilityFunctions.cc:359:14: error: catching polymorphic type ‘class std::invalid_argument’ by value [-Werror=catch-value=]
359 | catch (invalid_argument) {
| ^~~~~~~~~~~~~~~~
../base/src/UtilityFunctions.cc:362:14: error: catching polymorphic type ‘class std::out_of_range’ by value [-Werror=catch-value=]
362 | catch (out_of_range) {
| ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors