[Debian-med-packaging] C++ help needed for lamarc

Andreas Tille andreas at an3as.eu
Mon Dec 4 16:52:31 UTC 2017


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



More information about the Debian-med-packaging mailing list