Make failed
Kroid opened this issue · 2 comments
Kroid commented
Hello, I install deps and try make on fedora (x64):
[kroid@localhost-localdomain lsd2dsl]$ cmake . -DCMAKE_RELEASE=TRUE
-- The C compiler identification is GNU 4.8.3
-- The CXX compiler identification is GNU 4.8.3
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- program_options
-- filesystem
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kroid/Downloads/lsd2dsl
[kroid@localhost-localdomain lsd2dsl]$ make
Scanning dependencies of target dictlsd
[ 4%] Building CXX object dictlsd/CMakeFiles/dictlsd.dir/lsd.cpp.o
[ 8%] Building CXX object dictlsd/CMakeFiles/dictlsd.dir/tools.cpp.o
[ 12%] Building CXX object dictlsd/CMakeFiles/dictlsd.dir/LenTable.cpp.o
[ 16%] Building CXX object dictlsd/CMakeFiles/dictlsd.dir/BitStream.cpp.o
[ 20%] Building CXX object dictlsd/CMakeFiles/dictlsd.dir/ArticleHeading.cpp.o
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In function ‘void dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)’:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:69: error: parameter declared ‘auto’
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In lambda function:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:367:24: error: ‘h’ was not declared in this scope
return h.articleReference() != ref;
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In function ‘void dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)’:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:378:44: error: parameter declared ‘auto’
foreachReferenceSet(headings, [&](auto first, auto last) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:378:56: error: parameter declared ‘auto’
foreachReferenceSet(headings, [&](auto first, auto last) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In lambda function:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:379:27: error: ‘first’ was not declared in this scope
if (std::distance(first, last) > 1) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:379:34: error: ‘last’ was not declared in this scope
if (std::distance(first, last) > 1) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In function ‘void dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)’:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:387:6: error: could not convert ‘<lambda closure object>dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)::__lambda3{(* & toRemove), (* & headings)}’ from ‘dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)::__lambda3’ to ‘std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>’
});
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:390:92: error: parameter declared ‘auto’
std::copy_if(begin(headings), end(headings), std::back_inserter(compressed), [&](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp: In lambda function:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:391:21: error: ‘h’ was not declared in this scope
auto idx = &h - &headings[0];
^
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h: In instantiation of ‘_OIter std::copy_if(_IIter, _IIter, _OIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >; _OIter = std::back_insert_iterator<std::vector<dictlsd::ArticleHeading> >; _Predicate = dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)::__lambda4]’:
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:393:6: required from here
/usr/include/c++/4.8.3/bits/stl_algo.h:962:21: error: no match for call to ‘(dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)::__lambda4) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:390:84: note: candidate is:
std::copy_if(begin(headings), end(headings), std::back_inserter(compressed), [&](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:390:93: note: dictlsd::collapseVariants(std::vector<dictlsd::ArticleHeading>&)::__lambda4
std::copy_if(begin(headings), end(headings), std::back_inserter(compressed), [&](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:390:93: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >; _Predicate = dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2]’:
/usr/include/c++/4.8.3/bits/stl_algo.h:4465:41: required from ‘_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >; _Predicate = dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2]’
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:368:14: required from here
/usr/include/c++/4.8.3/bits/stl_algo.h:214:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:218:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:222:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:226:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:234:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:238:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
In file included from /usr/include/c++/4.8.3/algorithm:62:0,
from /home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:7:
/usr/include/c++/4.8.3/bits/stl_algo.h:242:23: error: no match for call to ‘(dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2) (dictlsd::ArticleHeading&)’
if (__pred(*__first))
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:61: note: candidate is:
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: dictlsd::foreachReferenceSet(std::vector<dictlsd::ArticleHeading>&, std::function<void(__gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >, __gnu_cxx::__normal_iterator<dictlsd::ArticleHeading*, std::vector<dictlsd::ArticleHeading> >)>, bool)::__lambda2
it = std::find_if(it, end(groupedHeadings), [ref](auto& h) {
^
/home/kroid/Downloads/lsd2dsl/dictlsd/ArticleHeading.cpp:366:70: note: candidate expects 0 arguments, 1 provided
make[2]: *** [dictlsd/CMakeFiles/dictlsd.dir/ArticleHeading.cpp.o] Error 1
make[1]: *** [dictlsd/CMakeFiles/dictlsd.dir/all] Error 2
make: *** [all] Error 2
nongeneric commented
Hi. This is because of generic lambdas, they were introduced in gcc 4.9.
Kroid commented
Thanks.