Hi,

I intend to package lamarc[1] and hit the following C++ issue:

...
g++ -DHAVE_CONFIG_H -I. -I./config   -Wdate-time -D_FORTIFY_SOURCE=2 
-DLAMARC_COMPILE_LINUX     -DNDEBUG          -Wall -Wextra -Wno-unused -I 
./config -I ./config -I ./src/bayeslike -I ./   src/control -I ./src/conversion 
-I ./src/convErr -I ./src/convModel -I ./src/convParse -I ./src/convStrings -I 
./src/convUtil -I ./src/datalike -I ./src/force -I ./src/guiconv -I ./src/      
guiutil -I ./src/lamarcmenus -I ./src/menu -I ./src/postlike -I ./src/report -I 
./src/tools -I ./src/tree -I ./src/ui_interface -I ./src/ui_util -I 
./src/ui_vars -I ./src/xml -I/usr/include/ boost -I ./resources -DTIXML_USE_STL 
-g -O2 -fdebug-prefix-map=/build/lamarc-2.1.10+dfsg=. -fstack-protector-strong 
-Wformat -Werror=format-security -c -o lamarc-mathx.o `test -f 'src/tools/ 
mathx.cpp' || echo './'`src/tools/mathx.cpp
src/tools/mathx.cpp: In member function ‘std::pair<std::vector<double>, 
std::vector<std::vector<double> > > EigenCalculator::Eigen(DoubleVec2d)’:
src/tools/mathx.cpp:781:64: error: no matching function for call to 
‘make_pair<DoubleVec1d, DoubleVec2d>(DoubleVec1d&, DoubleVec2d&)’
     return make_pair<DoubleVec1d, DoubleVec2d>(eigvals, eigvecs);
                                                                ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from src/tools/mathx.cpp:13:
/usr/include/c++/7/bits/stl_pair.h:519:5: note: candidate: template<class _T1, 
class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, 
typename std::                     __decay_and_strip<_T2>::__type> 
std::make_pair(_T1&&, _T2&&)
     make_pair(_T1&& __x, _T2&& __y)
     ^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:519:5: note:   template argument 
deduction/substitution failed:
src/tools/mathx.cpp:781:64: note:   cannot convert ‘eigvals’ (type ‘DoubleVec1d 
{aka std::vector<double>}’) to type ‘std::vector<double>&&’
     return make_pair<DoubleVec1d, DoubleVec2d>(eigvals, eigvecs);
                                                                ^
Makefile:6719: recipe for target 'lamarc-mathx.o' failed


Any hint how to fix this?

Kind regards

       Andreas.


[1] https://anonscm.debian.org/git/debian-med/lamarc.git

-- 
http://fam-tille.de

Reply via email to