root@C.11422556:~/DataFrame/Debug$ make
[ 3%] Building CXX object CMakeFiles/DataFrame.dir/src/Utils/DateTime.cc.o
[ 6%] Linking CXX static library libDataFrame.a
[ 6%] Built target DataFrame
[ 9%] Building CXX object test/CMakeFiles/dataframe_tester.dir/dataframe_tester.cc.o
In file included from /root/DataFrame/include/DataFrame/Vectors/HeteroConstPtrView.h:32,
from /root/DataFrame/include/DataFrame/Vectors/HeteroVector.h:33,
from /root/DataFrame/include/DataFrame/DataFrameTypes.h:32,
from /root/DataFrame/include/DataFrame/DataFrameStatsVisitors.h:32,
from /root/DataFrame/include/DataFrame/DataFrame.h:32,
from /root/DataFrame/test/dataframe_tester.cc:28:
/root/DataFrame/include/DataFrame/Vectors/VectorPtrView.h:345:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorPtrView<T, A>::iterator'
345 | template<>
| ^
/root/DataFrame/include/DataFrame/Vectors/VectorPtrView.h:532:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorPtrView<T, A>::const_iterator'
532 | template<>
| ^
In file included from /root/DataFrame/include/DataFrame/Vectors/HeteroConstView.h:32,
from /root/DataFrame/include/DataFrame/Vectors/HeteroVector.h:34:
/root/DataFrame/include/DataFrame/Vectors/VectorView.h:290:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorView<T, A>::const_iterator'
290 | template<>
| ^
/root/DataFrame/include/DataFrame/Vectors/VectorView.h:441:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorView<T, A>::iterator'
441 | template<>
| ^
/root/DataFrame/include/DataFrame/Vectors/VectorView.h:738:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorConstView<T, A>::const_iterator'
gcc and g++ version - g++ (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I think your compiler version is non-compliant. But I removed the offending lines in master, since they were not necessary in the first place. Please try it again.
root@C.11422556:~/DataFrame/Debug$ make [ 3%] Building CXX object CMakeFiles/DataFrame.dir/src/Utils/DateTime.cc.o [ 6%] Linking CXX static library libDataFrame.a [ 6%] Built target DataFrame [ 9%] Building CXX object test/CMakeFiles/dataframe_tester.dir/dataframe_tester.cc.o In file included from /root/DataFrame/include/DataFrame/Vectors/HeteroConstPtrView.h:32, from /root/DataFrame/include/DataFrame/Vectors/HeteroVector.h:33, from /root/DataFrame/include/DataFrame/DataFrameTypes.h:32, from /root/DataFrame/include/DataFrame/DataFrameStatsVisitors.h:32, from /root/DataFrame/include/DataFrame/DataFrame.h:32, from /root/DataFrame/test/dataframe_tester.cc:28: /root/DataFrame/include/DataFrame/Vectors/VectorPtrView.h:345:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorPtrView<T, A>::iterator' 345 | template<> | ^ /root/DataFrame/include/DataFrame/Vectors/VectorPtrView.h:532:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorPtrView<T, A>::const_iterator' 532 | template<> | ^ In file included from /root/DataFrame/include/DataFrame/Vectors/HeteroConstView.h:32, from /root/DataFrame/include/DataFrame/Vectors/HeteroVector.h:34: /root/DataFrame/include/DataFrame/Vectors/VectorView.h:290:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorView<T, A>::const_iterator' 290 | template<> | ^ /root/DataFrame/include/DataFrame/Vectors/VectorView.h:441:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorView<T, A>::iterator' 441 | template<> | ^ /root/DataFrame/include/DataFrame/Vectors/VectorView.h:738:18: error: explicit specialization in non-namespace scope 'class hmdf::VectorConstView<T, A>::const_iterator'
gcc and g++ version - g++ (Ubuntu 13.1.0-8ubuntu1~20.04.2) 13.1.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The compiler seems to support c++23 std