[Trilinos-Users] intrepid and with TPL QD test fail to build (global namespace issues?)

Denis Davydov davydden at gmail.com
Wed Jan 14 03:52:13 MST 2015


When building Trilinos with QD, the following test fails:

[ 74%] Built target Intrepid_test_Discretization_Integration_Test_05
Scanning dependencies of target Intrepid_test_Discretization_Integration_Test_09
In file included from xxx/trilinos-11.12.1-Source/packages/intrepid/test/Discretization/Integration/test_07.cpp:51:
In file included from xxx/trilinos-11.12.1-Source/packages/intrepid/src/Discretization/Integration/Intrepid_CubatureSparse.hpp:204:
xxx/trilinos-11.12.1-Source/packages/intrepid/src/Discretization/Integration/Intrepid_CubatureSparseDef.hpp:224:18: error: call to 'pow' is ambiguous
        weight = pow(-1.0, end - k_i)*combination(d-1, k_i - l)*weight;
                 ^~~
/usr/include/math.h:443:15: note: candidate function
extern double pow(double, double);
              ^
/usr/local/include/qd/dd_real.h:211:16: note: candidate function
QD_API dd_real pow(const dd_real &a, int n);
               ^
/usr/local/include/qd/qd_real.h:193:16: note: candidate function
QD_API qd_real pow(const qd_real &a, int n);
               ^
/usr/local/include/qd/dd_real.h:212:16: note: candidate function
QD_API dd_real pow(const dd_real &a, const dd_real &b);
               ^
/usr/local/include/qd/qd_real.h:194:16: note: candidate function
QD_API qd_real pow(const qd_real &a, const qd_real &b);


It seems QD’s includes are sitting in the separate folder (qd) and therefore there should be not conflicts, 
unless there is somewhere uneeded “using namespace qd” which makes std::pow and qd::pow conflicting.

Kind regards,
Denis 



More information about the Trilinos-Users mailing list