Installation in Windows Error


#1

I am installing the meta toolkit for Windows and I am following the setup guide to the letter. But I am getting error when I am using “make” command in msys MinGW.

The error message is as follows:

[ 58%] Built target meta-features
[ 59%] Building CXX object src/features/tools/CMakeFiles/feature-summary.dir/feature_summary.cpp.obj
In file included from C:/msys64/mingw64/include/c++/8.2.1/bits/stl_algobase.h:66,
from C:/msys64/mingw64/include/c++/8.2.1/algorithm:61,
from C:/msys64/home/Loukit/meta/deps/cpptoml/include/cpptoml.h:10,
from C:/msys64/home/Loukit/meta/src/features/tools/feature_summary.cpp:10:
C:/msys64/mingw64/include/c++/8.2.1/bits/stl_iterator_base_funcs.h: In instantiation of ‘constexpr void std::__advance(_RandomAccessIterator&, _Distance, std::random_access_iterator_tag) [with _RandomAccessIterator = meta::learn::dataset_view::iterator; _Distance = long long int]’:
C:/msys64/mingw64/include/c++/8.2.1/bits/stl_iterator_base_funcs.h:206:21: required from ‘void std::advance(_InputIterator&, _Distance) [with _InputIterator = meta::learn::dataset_view::iterator; _Distance = long long int]’
C:/msys64/home/Loukit/meta/include/meta/parallel/parallel_for.h:49:21: required from ‘std::vector<std::future<typename std::result_of<Function(Iterator, Iterator)>::type> > meta::parallel::for_each_block(Iterator, Iterator, meta::parallel::thread_pool&, Function&&) [with Iterator = meta::learn::dataset_view::iterator; Function = meta::parallel::reduction(Iterator, Iterator, meta::parallel::thread_pool&, LocalStorage&&, MappingFunction&&, ReductionFunction&&) [with Iterator = meta::learn::dataset_view::iterator; LocalStorage = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda()>&; MappingFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const instance_type&)>&; ReductionFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&)>&; typename std::result_of<LocalStorage()>::type = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts]::<lambda(meta::learn::dataset_view::iterator, meta::learn::dataset_view::iterator)>; typename std::result_of<Function(Iterator, Iterator)>::type = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts]’
C:/msys64/home/Loukit/meta/include/meta/parallel/algorithm.h:60:25: required from ‘typename std::result_of<LocalStorage()>::type meta::parallel::reduction(Iterator, Iterator, meta::parallel::thread_pool&, LocalStorage&&, MappingFunction&&, ReductionFunction&&) [with Iterator = meta::learn::dataset_view::iterator; LocalStorage = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda()>&; MappingFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const instance_type&)>&; ReductionFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&)>&; typename std::result_of<LocalStorage()>::type = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts]’
C:/msys64/home/Loukit/meta/include/meta/parallel/algorithm.h:84:21: required from ‘typename std::result_of<LocalStorage()>::type meta::parallel::reduction(Iterator, Iterator, LocalStorage&&, MappingFunction&&, ReductionFunction&&) [with Iterator = meta::learn::dataset_view::iterator; LocalStorage = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda()>; MappingFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const instance_type&)>; ReductionFunction = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::<lambda(meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&, const meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts&)>; typename std::result_of<LocalStorage()>::type = meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]::prob_counts]’
C:/msys64/home/Loukit/meta/include/meta/features/feature_selector.h:253:42: required from ‘void meta::features::feature_selector::calc_probs(const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]’
C:/msys64/home/Loukit/meta/include/meta/features/feature_selector.h:207:9: required from ‘void meta::features::feature_selector::init(const LabeledDatasetContainer&, uint64_t) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view; uint64_t = long long unsigned int]’
C:/msys64/home/Loukit/meta/include/meta/features/selector_factory.h:112:5: required from ‘std::unique_ptrmeta::features::feature_selector meta::features::make_selector(const cpptoml::table&, const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]’
C:/msys64/home/Loukit/meta/src/features/tools/feature_summary.cpp:51:61: required from here
C:/msys64/mingw64/include/c++/8.2.1/bits/stl_iterator_base_funcs.h:183:2: error: no match for ‘operator–’ (operand type is ‘meta::learn::dataset_view::iterator’)
–__i;
^~~~~
make[2]: *** [src/features/tools/CMakeFiles/feature-summary.dir/build.make:63: src/features/tools/CMakeFiles/feature-summary.dir/feature_summary.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:1406: src/features/tools/CMakeFiles/feature-summary.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

Is there something I can do to rectify the error? Thank you for your attention. I am quite new to C++ in general and I have no idea about Cmake, so please take heed to that.


#2

Solution found here:

Check KevinKraft’s reply