Compatibility CUDA & Lemon Or ... ?!

Hi everybody,

First of all I appology for my english level ^^
Being new user of GPU programming, i started following all steps to install CUDA and i could use it with the Samples programs proposed with the installation…

But trying to compile my algorithm (coded on Code::Blocks under Ubuntu) that uses Lemon libraries, Thread and mutex libraries aswell (handled by c++11) I started having some weird errors…

I tried changing the IDE and use Nsight … and even try by changing makefiles and try to copy configuration on a sample but no way to make the algorithm work even by not using yet CUDA …

Here you can see the errors I get:

from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:1609:3: note: constexpr float std::round(float)
   round(float __x)
   ^
/usr/include/c++/4.8/cmath:1613:3: note: constexpr long double std::round(long double)
   round(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1624:33: error: call of overloaded ‘sqrt(double)’ is ambiguous
    _M_s1 = std::sqrt(__np * __1p) * (1 + _M_d1 / (4 * __np));
                                 ^
/usr/include/c++/4.8/bits/random.tcc:1624:33: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1625:33: error: call of overloaded ‘sqrt(double)’ is ambiguous
    _M_s2 = std::sqrt(__np * __1p) * (1 + _M_d2 / (4 * _M_t * __1p));
                                 ^
/usr/include/c++/4.8/bits/random.tcc:1625:33: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1627:25: error: call of overloaded ‘exp(double&)’ is ambiguous
    _M_a1 = std::exp(_M_c) * _M_s1 * __spi_2;
                         ^
/usr/include/c++/4.8/bits/random.tcc:1627:25: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:241:3: note: constexpr float std::exp(float)
   exp(float __x)
   ^
/usr/include/c++/4.8/cmath:245:3: note: constexpr long double std::exp(long double)
   exp(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1632:48: error: call of overloaded ‘exp(double)’ is ambiguous
         * std::exp(-_M_d1 * _M_d1 / (2 * __s1s)));
                                                ^
/usr/include/c++/4.8/bits/random.tcc:1632:48: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:241:3: note: constexpr float std::exp(float)
   exp(float __x)
   ^
/usr/include/c++/4.8/cmath:245:3: note: constexpr long double std::exp(long double)
   exp(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1635:44: error: call of overloaded ‘exp(double)’ is ambiguous
     * std::exp(-_M_d2 * _M_d2 / (2 * __s2s)));
                                            ^
/usr/include/c++/4.8/bits/random.tcc:1635:44: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:241:3: note: constexpr float std::exp(float)
   exp(float __x)
   ^
/usr/include/c++/4.8/cmath:245:3: note: constexpr long double std::exp(long double)
   exp(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1636:33: error: call of overloaded ‘lgamma(double)’ is ambiguous
    _M_lf = (std::lgamma(__np + 1)
                                 ^
/usr/include/c++/4.8/bits/random.tcc:1636:33: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:1406:3: note: constexpr float std::lgamma(float)
   lgamma(float __x)
   ^
/usr/include/c++/4.8/cmath:1410:3: note: constexpr long double std::lgamma(long double)
   lgamma(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1638:34: error: call of overloaded ‘log(double)’ is ambiguous
    _M_lp1p = std::log(__pa / __1p);
                                  ^
/usr/include/c++/4.8/bits/random.tcc:1638:34: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:357:3: note: constexpr float std::log(float)
   log(float __x)
   ^
/usr/include/c++/4.8/cmath:361:3: note: constexpr long double std::log(long double)
   log(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1640:46: error: call of overloaded ‘log(double)’ is ambiguous
    _M_q = -std::log(1 - (__p12 - __pa) / __1p);
                                              ^
/usr/include/c++/4.8/bits/random.tcc:1640:46: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:357:3: note: constexpr float std::log(float)
   log(float __x)
   ^
/usr/include/c++/4.8/cmath:361:3: note: constexpr long double std::log(long double)
   log(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1644:28: error: call of overloaded ‘log(double)’ is ambiguous
  _M_q = -std::log(1 - __p12);
                            ^
/usr/include/c++/4.8/bits/random.tcc:1644:28: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:357:3: note: constexpr float std::log(float)
   log(float __x)
   ^
/usr/include/c++/4.8/cmath:361:3: note: constexpr long double std::log(long double)
   log(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc: In member function ‘std::binomial_distribution<_IntType>::result_type std::binomial_distribution<_IntType>::operator()(_UniformRandomNumberGenerator&, const std::binomial_distribution<_IntType>::param_type&)’:
/usr/include/c++/4.8/bits/random.tcc:1732:24: error: call of overloaded ‘floor(const double&)’ is ambiguous
    __x = std::floor(__y);
                        ^
/usr/include/c++/4.8/bits/random.tcc:1732:24: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:279:3: note: constexpr float std::floor(float)
   floor(float __x)
   ^
/usr/include/c++/4.8/cmath:283:3: note: constexpr long double std::floor(long double)
   floor(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1744:25: error: call of overloaded ‘floor(double)’ is ambiguous
    __x = std::floor(-__y);
                         ^
/usr/include/c++/4.8/bits/random.tcc:1744:25: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:279:3: note: constexpr float std::floor(float)
   floor(float __x)
   ^
/usr/include/c++/4.8/cmath:283:3: note: constexpr long double std::floor(long double)
   floor(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1755:27: error: call of overloaded ‘floor(const double&)’ is ambiguous
       __x = std::floor(__y);
                           ^
/usr/include/c++/4.8/bits/random.tcc:1755:27: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:279:3: note: constexpr float std::floor(float)
   floor(float __x)
   ^
/usr/include/c++/4.8/cmath:283:3: note: constexpr long double std::floor(long double)
   floor(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1767:28: error: call of overloaded ‘floor(double)’ is ambiguous
       __x = std::floor(-__y);
                            ^
/usr/include/c++/4.8/bits/random.tcc:1767:28: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:279:3: note: constexpr float std::floor(float)
   floor(float __x)
   ^
/usr/include/c++/4.8/cmath:283:3: note: constexpr long double std::floor(long double)
   floor(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc:1776:35: error: call of overloaded ‘lgamma(double)’ is ambiguous
         std::lgamma(__np + __x + 1)
                                   ^
/usr/include/c++/4.8/bits/random.tcc:1776:35: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:1406:3: note: constexpr float std::lgamma(float)
   lgamma(float __x)
   ^
/usr/include/c++/4.8/cmath:1410:3: note: constexpr long double std::lgamma(long double)
   lgamma(long double __x)
   ^
In file included from /usr/include/c++/4.8/random:52:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/bits/random.tcc: In member function ‘std::piecewise_linear_distribution<_RealType>::result_type std::piecewise_linear_distribution<_RealType>::operator()(_UniformRandomNumberGenerator&, const std::piecewise_linear_distribution<_RealType>::param_type&)’:
/usr/include/c++/4.8/bits/random.tcc:3289:33: error: call of overloaded ‘sqrt(const double&)’ is ambiguous
      __x += 0.5 * (std::sqrt(__d) - __b) / __a;
                                 ^
/usr/include/c++/4.8/bits/random.tcc:3289:33: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
In file included from ../src/MyHybridGPUAlgo.cpp:13:0:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h: In constructor ‘lemon::NetworkSimplex<GR, V, C>::BlockSearchPivotRule::BlockSearchPivotRule(lemon::NetworkSimplex<GR, V, C>&)’:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:373:70: error: call of overloaded ‘sqrt(double)’ is ambiguous
                                     std::sqrt(double(_search_arc_num))),
                                                                      ^
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:373:70: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
In file included from ../src/MyHybridGPUAlgo.cpp:13:0:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h: In constructor ‘lemon::NetworkSimplex<GR, V, C>::CandidateListPivotRule::CandidateListPivotRule(lemon::NetworkSimplex<GR, V, C>&)’:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:450:71: error: call of overloaded ‘sqrt(double)’ is ambiguous
                                      std::sqrt(double(_search_arc_num))),
                                                                       ^
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:450:71: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
In file included from ../src/MyHybridGPUAlgo.cpp:13:0:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h: In constructor ‘lemon::NetworkSimplex<GR, V, C>::AlteringListPivotRule::AlteringListPivotRule(lemon::NetworkSimplex<GR, V, C>&)’:
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:567:70: error: call of overloaded ‘sqrt(double)’ is ambiguous
                                     std::sqrt(double(_search_arc_num))),
                                                                      ^
/home/-/Desktop/lemon-1.3.1/lemon/network_simplex.h:567:70: note: candidates are:
In file included from /home/-/Desktop/lemon-1.3.1/lemon/math.h:30:0,
                 from /usr/include/c++/4.8/cmath:44,
                 from /usr/include/c++/4.8/random:38,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/local/include/lemon/core.h:23,
                 from /usr/local/include/lemon/list_graph.h:26,
                 from ../src/../include/../include/graph.h:6,
                 from ../src/../include/functions.h:7,
                 from ../src/MyHybridGPUAlgo.cpp:8:
/usr/include/c++/4.8/cmath:482:3: note: constexpr float std::sqrt(float)
   sqrt(float __x)
   ^
/usr/include/c++/4.8/cmath:486:3: note: constexpr long double std::sqrt(long double)
   sqrt(long double __x)
   ^
make: *** [src/MyHybridGPUAlgo.o] Error 1

17:52:00 Build Finished (took 1s.271ms)

So please can anyone help me by at least explaining to me why I get those errors … :)

Thank you …
Cordially

In nsight, have you modified your project to build for c++11 ?

There is a checkbox in nsight that will add the necessary switch to the nvcc command line:

-std=c++11

Thanks for your quick reply … Yes in Nsight I did it! But in makefile i didn’t know how to do it to try to avoid the same problem … :/

When you did it in nsight, did it fix the problem?

I did it in the beginning when i passed my algorithm in a new C++ project and i had “fatal error: mutex: No such file or director” … so by checking the flag for c++11 the compiler could charge the library … but I got then the errors that I copied in my first post here… (and still remaining errors from m.lock, unlock and thread.join() aswell)

I tried downloading and building lemon 1.3.1, but it apparently depends on the IBM ILOG CPLEX library, which is not free software, so I don’t think I will be able to help you.

$ cmake ..
...
-- Found GLPK: /lib64/libglpk.so (Required is at least version "4.33")
-- Could NOT find ILOG (missing:  ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR)
...

I think for that you can change the default Solvers by using

$cmake -DLEMON_DEFAULT_LP=GLPK -DLEMON_DEFAULT_MIP=GLPK

(Supported values are CPLEX, CBC and GLPK)

Source:
http://lemon.cs.elte.hu/trac/lemon/wiki/InstallLinux

Or if it is easier can you try please even with lemon 1.0 … at least to know if there a solution to make it work … thank you

I tried that and it still complained about ILOG. I was able to get past it with:

$cmake -DLEMON_DEFAULT_LP=GLPK -DLEMON_DEFAULT_MIP=GLPK -DLEMON_ENABLE_COIN=NO -DLEMON_ENABLE_ILOG=NO

but now I run into this:

-- Could NOT find SOPLEX (missing:  SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)

And since I am part of a commercial institution, it seems they do not allow usage without a license:

http://soplex.zib.de/download.php?fname=soplex-2.2.0.tgz

Aaarg! XD

Trying to reinstall lemon-1.3.1 myself I had the same issues even having CPLEX & GLPK installed… But as I remember I am using just some classes of lemon as headers (network_simplex.h & preflow.h) while I have installed lemon-1.0

So do you think that this is cause of my problem? …

I finally found a solution to install properly … There is a small patch to do in the lemon-1.3.1/CMakeLists.txt to correct the CMAKE_POLICY

https://lemon.cs.elte.hu/trac/lemon/attachment/ticket/502/lemon-1.3.1-cmake-policy.patch

… even if it says that – Could NOT find blablabla … the installation is done!

But still the errors remains when I compile my Algo … :/