Closed nitinpo-Kore closed 9 months ago
This issue is that in latest g++ compiler, the limits header file is not added to the cpp file above. this issue error in prometheus-cpp and it's fixed in prometheus-cpp latest version.
This require to upgrade drachtio server to use latest version of prometheus-cpp, it might require more effort from me. To unlock you now, here is step:
1/ / open drachtio-server/deps/prometheus-cpp/core/src/histogram.cc 2/ add below line to it.
#include <limits>
3/ build it again.
@xquanluu thanks its working fine....
pwd
&& \ make && make install -- Found GoogleBenchmark: /usr/lib/x86_64-linux-gnu/libbenchmark.so -- Configuring done -- Generating done -- Build files have been written to: /usr/local/src/drachtio-server/deps/prometheus-cpp/build make[1]: Entering directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make[2]: Entering directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make[3]: Entering directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' Consolidate compiler generated dependencies of target core make[3]: Leaving directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make[3]: Entering directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' [ 2%] Building CXX object core/CMakeFiles/core.dir/src/histogram.cc.o /usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc: In member function ‘prometheus::ClientMetric prometheus::Histogram::Collect() const’: /usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:36:38: error: ‘numeric_limits’ is not a member of ‘std’ 36~~~~~ /usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:36:53: error: expected primary-expression before ‘double’ 36~/usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:36:53: error: expected ‘:’ before ‘double’ 36~/usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:36:53: error: expected primary-expression before ‘double’ 36 | ? std::numeric_limits::infinity()
| ^::infinity()
| ^
~/usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:36:53: error: expected ‘)’ before ‘double’ 36 | ? std::numeric_limits~| ) /usr/local/src/drachtio-server/deps/prometheus-cpp/core/src/histogram.cc:35:26: note: to match this ‘(’ 35 | bucket.upper_bound = (i == bucketboundaries.size() | ^ make[3]: [core/CMakeFiles/core.dir/build.make:216: core/CMakeFiles/core.dir/src/histogram.cc.o] Error 1 make[3]: Leaving directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make[2]: [CMakeFiles/Makefile2:262: core/CMakeFiles/core.dir/all] Error 2 make[2]: Leaving directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make[1]: [Makefile:146: all] Error 2 make[1]: Leaving directory '/usr/local/src/drachtio-server/deps/prometheus-cpp/build' make: [Makefile:1540: ../deps/prometheus-cpp/build/lib/libprometheus-cpp-core.a] Error 2 Its seems that g++ & gcc version are 11 on ubuntu 22.04 and on debian the version is old its 10. And Binutils version on new server is 2.38 and on debian the version is old its 2.35.2 Can you please make it work on ubuntu latest version 22.04.1 LTS if possible.