meta-toolkit / meta

A Modern C++ Data Sciences Toolkit
https://meta-toolkit.org
MIT License
693 stars 235 forks source link

error: no match for ‘operator--’ during make #204

Closed hkundnani closed 5 years ago

hkundnani commented 5 years ago

I am getting following error while make at 84%

[  0%] Built target meta-util
[  2%] Built target liblinear
[  3%] Built target meta-eval
[  5%] Built target libsvm
[  7%] Built target meta-kernel
[  8%] Built target ExternalICU
[  8%] Built target meta-stats
[  9%] Built target meta-parser-trees
[ 12%] Built target meta-loss
[ 13%] Built target graph-test
[ 15%] Built target ceeaus
[ 17%] Built target housing
[ 19%] Built target breast-cancer
[ 21%] Built target cranfield
[ 23%] Built target meta-io
[ 24%] Built target meta-utf
[ 25%] Built target meta-parser-io
[ 27%] Built target meta-tree-visitors
[ 28%] Built target meta-to-glove
[ 29%] Built target meta-learn
[ 29%] Built target glove
[ 30%] Built target meta-succinct
[ 31%] Built target wiki-page-rank
[ 32%] Built target compressor-test
[ 34%] Built target utf8-test
[ 35%] Built target meta-tokenizers
[ 38%] Built target meta-corpus
[ 40%] Built target meta-sequence
[ 41%] Built target meta-regression
[ 42%] Built target mph-vocab
[ 46%] Built target meta-filters
[ 48%] Built target meta-parser-featurizers
[ 48%] Built target corpus-gen
[ 48%] Built target meta-greedy-tagger
[ 51%] Built target meta-parser
[ 52%] Built target meta-crf
[ 53%] Built target meta-hmm
[ 55%] Built target meta-analyzers
[ 55%] Built target parser-test
[ 56%] Built target parser-train
[ 58%] Built target crf-train
[ 58%] Built target read-trees
[ 58%] Built target hmm-train
[ 58%] Built target pos-tag
[ 59%] Built target tokenize-test
[ 61%] Built target meta-index
[ 62%] Built target meta-embeddings
[ 62%] Built target meta-parser-analyzers
[ 63%] Built target meta-sequence-analyzers
[ 63%] Built target embedding-vocab
[ 65%] Built target meta-language-model
[ 67%] Built target pos-tokenizer
[ 67%] Built target sr-parse
[ 67%] Built target profile
[ 69%] Built target meta-topics
[ 69%] Built target top-k
[ 69%] Built target meta-embeddings-analyzers
[ 70%] Built target lda-topics
[ 71%] Built target embedding-cooccur
[ 74%] Built target meta-ranker
[ 76%] Built target meta-features
[ 76%] Built target interactive-embeddings
[ 76%] Built target search-vocab
[ 77%] Built target print-vocab
[ 78%] Built target forward-to-libsvm
[ 79%] Building CXX object src/index/tools/CMakeFiles/interactive-search.dir/interactive_search.cpp.o
[ 80%] Built target index
[ 80%] Building CXX object src/index/tools/CMakeFiles/search.dir/search.cpp.o
[ 80%] Built target diff-test
[ 81%] Built target sentence-likelihood
[ 82%] Built target query-lm
[ 82%] Built target build-mph-lm
[ 82%] Built target meta-lm-analyzers
[ 82%] Building CXX object src/topics/tools/CMakeFiles/lda.dir/lda.cpp.o
[ 82%] Built target regression
[ 83%] Building CXX object src/topics/tools/CMakeFiles/topic-corpus.dir/topic_corpus.cpp.o
[ 83%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/binary_classifier_factory.cpp.o
[ 84%] Building CXX object src/features/tools/CMakeFiles/feature-summary.dir/feature_summary.cpp.o
In file included from /usr/include/c++/8.2.1/bits/stl_algobase.h:66,
                 from /usr/include/c++/8.2.1/algorithm:61,
                 from /home/harsh/Documents/meta/deps/cpptoml/include/cpptoml.h:10,
                 from /home/harsh/Documents/meta/src/features/tools/feature_summary.cpp:10:
/usr/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 int]’:
/usr/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 int]’
/home/harsh/Documents/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]’
/home/harsh/Documents/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]’
/home/harsh/Documents/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]’
/home/harsh/Documents/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]’
/home/harsh/Documents/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 unsigned int]’
/home/harsh/Documents/meta/include/meta/features/selector_factory.h:112:5:   required from ‘std::unique_ptr<meta::features::feature_selector> meta::features::make_selector(const cpptoml::table&, const LabeledDatasetContainer&) [with LabeledDatasetContainer = meta::classify::multiclass_dataset_view]’
/home/harsh/Documents/meta/src/features/tools/feature_summary.cpp:51:61:   required from here
/usr/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;
  ^~~~~
[ 84%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/binary_classifier.cpp.o
make[2]: *** [src/features/tools/CMakeFiles/feature-summary.dir/build.make:63: src/features/tools/CMakeFiles/feature-summary.dir/feature_summary.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1421: src/features/tools/CMakeFiles/feature-summary.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 85%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/classifier.cpp.o
[ 85%] Linking CXX executable ../../../topic-corpus
[ 85%] Built target topic-corpus
[ 85%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/dual_perceptron.cpp.o
[ 86%] Linking CXX executable ../../../search
[ 86%] Linking CXX executable ../../../interactive-search
[ 86%] Linking CXX executable ../../../lda
[ 86%] Built target search
[ 86%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/knn.cpp.o
[ 86%] Built target lda
[ 86%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/nearest_centroid.cpp.o
[ 87%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/logistic_regression.cpp.o
[ 87%] Built target interactive-search
[ 87%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/naive_bayes.cpp.o
[ 87%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/one_vs_all.cpp.o
[ 88%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/one_vs_one.cpp.o
[ 88%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/sgd.cpp.o
[ 88%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/svm_wrapper.cpp.o
[ 88%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier/winnow.cpp.o
[ 89%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/classifier_factory.cpp.o
[ 89%] Building CXX object src/classify/CMakeFiles/meta-classify.dir/confusion_matrix.cpp.o
[ 89%] Linking CXX static library ../../lib/libmeta-classify.a
[ 89%] Built target meta-classify
make: *** [Makefile:130: all] Error 2

I undertand it's because of c++ 8.2.1 stl library but I don't know how to fix this error.

I am running Manjaro Linux with g++ version 8.2.1 Please do let me know if I should provide any more details.

hkundnani commented 5 years ago

I used a different version of g++ and it builds without any issue. I think the issue is specifically with g++-8 version.

sebglon commented 4 years ago

I have exactly the same with g++9

sebglon commented 4 years ago

It works only with g++7. Not work on g++ 8 or 9