New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug] 1.14.7: build fails with gcc 14.x #3454
Comments
Thank you. This is probably due to a missing Which version of boost are you using? |
boost 1.84.0. |
Confirmed with iwyu:
I'll make us a cleanup patch on this. |
If you will have any patch to test please let me know. |
If I run a docker container w/ fedora:rawhide, I get gcc 14 and boost 1.83. What do I do to get gcc 15 and boost 1.84? |
I'm using my own distribution which is relatively close to fedora rawhide. |
Based on the error above, #3456 should fix this. I need to do a manual boost 1.84 build to verify it fully; please let me know if this fixes the above error in your setup. |
Just tested that PR and I was able build and and pass test suite. I see some compile time warnings but I'll open for that separated ticket. |
I ran into this same issue on archlinux with their patched boost-1.83.0-5 on 1.15.0-dev and all prior versions including 1.14.6: build log332.3 CXX bench/bench_dogecoin-bench_bitcoin.o
333.8 In file included from bench/bench_bitcoin.cpp:5:
333.8 bench/bench.h: In constructor ‘benchmark::State::State(std::string, double)’:
333.8 bench/bench.h:52:28: error: ‘numeric_limits’ is not a member of ‘std’
333.8 52 | minTime = std::numeric_limits<double>::max();
333.8 | ^~~~~~~~~~~~~~
333.8 bench/bench.h:52:43: error: expected primary-expression before ‘double’
333.8 52 | minTime = std::numeric_limits<double>::max();
333.8 | ^~~~~~
333.8 bench/bench.h:53:28: error: ‘numeric_limits’ is not a member of ‘std’
333.8 53 | maxTime = std::numeric_limits<double>::min();
333.8 | ^~~~~~~~~~~~~~
333.8 bench/bench.h:53:43: error: expected primary-expression before ‘double’
333.8 53 | maxTime = std::numeric_limits<double>::min();
333.8 | ^~~~~~
333.8 bench/bench.h:54:30: error: ‘numeric_limits’ is not a member of ‘std’
333.8 54 | minCycles = std::numeric_limits<uint64_t>::max();
333.8 | ^~~~~~~~~~~~~~
333.8 bench/bench.h:54:53: error: expected primary-expression before ‘>’ token
333.8 54 | minCycles = std::numeric_limits<uint64_t>::max();
333.8 | ^
333.8 bench/bench.h:54:56: error: ‘::max’ has not been declared; did you mean ‘std::max’?
333.8 54 | minCycles = std::numeric_limits<uint64_t>::max();
333.8 | ^~~
333.8 | std::max
333.8 In file included from /usr/include/c++/13.2.1/algorithm:61,
333.8 from /usr/include/boost/function/detail/prologue.hpp:14,
333.8 from /usr/include/boost/function.hpp:30,
333.8 from bench/bench.h:11:
333.8 /usr/include/c++/13.2.1/bits/stl_algo.h:5805:5: note: ‘std::max’ declared here
333.8 5805 | max(initializer_list<_Tp> __l, _Compare __comp)
333.8 | ^~~
333.8 bench/bench.h:55:30: error: ‘numeric_limits’ is not a member of ‘std’
333.8 55 | maxCycles = std::numeric_limits<uint64_t>::min();
333.8 | ^~~~~~~~~~~~~~
333.8 bench/bench.h:55:53: error: expected primary-expression before ‘>’ token
333.8 55 | maxCycles = std::numeric_limits<uint64_t>::min();
333.8 | ^
333.8 bench/bench.h:55:56: error: ‘::min’ has not been declared; did you mean ‘std::min’?
333.8 55 | maxCycles = std::numeric_limits<uint64_t>::min();
333.8 | ^~~
333.8 | std::min
333.8 /usr/include/c++/13.2.1/bits/stl_algo.h:5785:5: note: ‘std::min’ declared here
333.8 5785 | min(initializer_list<_Tp> __l, _Compare __comp)
333.8 | ^~~
336.0 make[2]: Leaving directory '/build/src'
336.0 make[2]: *** [Makefile:8467: bench/bench_dogecoin-bench_bitcoin.o] Error 1 To reproduce, FROM archlinux
WORKDIR /build
RUN pacman -Sy \
&& pacman --noconfirm -S git base-devel boost libevent python db
ARG GITREF=1.15.0-dev
ARG MAKEOPTS=-j8
RUN git clone https://github.com/dogecoin/dogecoin.git \
&& cd dogecoin \
&& git checkout $GITREF \
&& ./autogen.sh \
&& ./configure --without-gui --without-miniupnpc \
&& make $MAKEOPTS \
&& make check This makes the issue broader than just boost 1.84.0 (and therefore more urgent) |
Looks like build fails when gcc 15.x (available now in fedora rawhide) is used
Build fails with
The text was updated successfully, but these errors were encountered: