-
Notifications
You must be signed in to change notification settings - Fork 37.7k
qt: Fix comparison function signature #17634
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
Conversation
This commit fixes build on CentOS 7 with GCC 4.8.5
Does bitcoin only support C++11 and newer? If so, LGTM. |
See #7165. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
utACK 98fbd1c |
Code review ACK 98fbd1c. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 98fbd1c
Tested that this fixes the build in a CentOS 7 Docker container.
Master (19698ac) fails with:
CXX qt/qt_libbitcoinqt_a-recentrequeststablemodel.o
In file included from /usr/include/c++/4.8.2/algorithm:62:0,
from ./serialize.h:11,
from ./qt/sendcoinsrecipient.h:13,
from ./qt/recentrequeststablemodel.h:8,
from qt/recentrequeststablemodel.cpp:5:
/usr/include/c++/4.8.2/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Tp = RecentRequestEntry; _Compare = RecentRequestEntryLessThan]':
/usr/include/c++/4.8.2/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]'
/usr/include/c++/4.8.2/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Size = int; _Compare = RecentRequestEntryLessThan]'
/usr/include/c++/4.8.2/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]'
qt/recentrequeststablemodel.cpp:208:82: required from here
/usr/include/c++/4.8.2/bits/stl_algo.h:2263:35: error: no match for call to '(RecentRequestEntryLessThan) (RecentRequestEntry&, const RecentRequestEntry&)'
while (__comp(*__first, __pivot))
^
In file included from qt/recentrequeststablemodel.cpp:5:0:
./qt/recentrequeststablemodel.h:43:7: note: candidate is:
class RecentRequestEntryLessThan
^
qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const
bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const
^
qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 2 from 'const RecentRequestEntry' to 'RecentRequestEntry&'
In file included from /usr/include/c++/4.8.2/algorithm:62:0,
from ./serialize.h:11,
from ./qt/sendcoinsrecipient.h:13,
from ./qt/recentrequeststablemodel.h:8,
from qt/recentrequeststablemodel.cpp:5:
/usr/include/c++/4.8.2/bits/stl_algo.h:2266:34: error: no match for call to '(RecentRequestEntryLessThan) (const RecentRequestEntry&, RecentRequestEntry&)'
while (__comp(__pivot, *__last))
^
In file included from qt/recentrequeststablemodel.cpp:5:0:
./qt/recentrequeststablemodel.h:43:7: note: candidate is:
class RecentRequestEntryLessThan
^
qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const
bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const
^
qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 1 from 'const RecentRequestEntry' to 'RecentRequestEntry&'
make[2]: *** [qt/qt_libbitcoinqt_a-recentrequeststablemodel.o] Error 1
std::swap
was defined in the <algorithm>
header until C++11
, and has been defined in <utility>
since.
98fbd1c Use correct C++11 header for std::swap() (Hennadii Stepanov) b66861e Fix comparison function signature (Hennadii Stepanov) Pull request description: This PR fixes build on CentOS 7 with GCC 4.8.5: ``` ... In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Tp = RecentRequestEntry; _Compare = RecentRequestEntryLessThan]’: /usr/include/c++/4.8.2/bits/stl_algo.h:2296:78: required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:2337:62: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Size = int; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:5499:44: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ qt/recentrequeststablemodel.cpp:208:82: required from here /usr/include/c++/4.8.2/bits/stl_algo.h:2263:35: error: no match for call to ‘(RecentRequestEntryLessThan) (RecentRequestEntry&, const RecentRequestEntry&)’ while (__comp(*__first, __pivot)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 2 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h:2266:34: error: no match for call to ‘(RecentRequestEntryLessThan) (const RecentRequestEntry&, RecentRequestEntry&)’ while (__comp(__pivot, *__last)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 1 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ CXX qt/qt_libbitcoinqt_a-sendcoinsentry.o make[2]: *** [qt/qt_libbitcoinqt_a-recentrequeststablemodel.o] Error 1 ``` Also for `std::swap()` header `<algorithm>` is replaced with `<utility>` one. Refs: - [`std::swap()`](https://en.cppreference.com/w/cpp/algorithm/swap) - [standard library header `<utility>`](https://en.cppreference.com/w/cpp/header/utility) ACKs for top commit: promag: Code review ACK 98fbd1c. jonasschnelli: utACK 98fbd1c fanquake: ACK 98fbd1c Tree-SHA512: 91324490c1bdb98f186d233418e7e72ae7bee507876e94fb8c038bee031cea9e1046900f21156da4b7c33abcd726796867b124c4132d9ae3759877e90a8527db
98fbd1c Use correct C++11 header for std::swap() (Hennadii Stepanov) b66861e Fix comparison function signature (Hennadii Stepanov) Pull request description: This PR fixes build on CentOS 7 with GCC 4.8.5: ``` ... In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Tp = RecentRequestEntry; _Compare = RecentRequestEntryLessThan]’: /usr/include/c++/4.8.2/bits/stl_algo.h:2296:78: required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:2337:62: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Size = int; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:5499:44: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ qt/recentrequeststablemodel.cpp:208:82: required from here /usr/include/c++/4.8.2/bits/stl_algo.h:2263:35: error: no match for call to ‘(RecentRequestEntryLessThan) (RecentRequestEntry&, const RecentRequestEntry&)’ while (__comp(*__first, __pivot)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 2 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h:2266:34: error: no match for call to ‘(RecentRequestEntryLessThan) (const RecentRequestEntry&, RecentRequestEntry&)’ while (__comp(__pivot, *__last)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 1 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ CXX qt/qt_libbitcoinqt_a-sendcoinsentry.o make[2]: *** [qt/qt_libbitcoinqt_a-recentrequeststablemodel.o] Error 1 ``` Also for `std::swap()` header `<algorithm>` is replaced with `<utility>` one. Refs: - [`std::swap()`](https://en.cppreference.com/w/cpp/algorithm/swap) - [standard library header `<utility>`](https://en.cppreference.com/w/cpp/header/utility) ACKs for top commit: promag: Code review ACK 98fbd1c. jonasschnelli: utACK 98fbd1c fanquake: ACK 98fbd1c Tree-SHA512: 91324490c1bdb98f186d233418e7e72ae7bee507876e94fb8c038bee031cea9e1046900f21156da4b7c33abcd726796867b124c4132d9ae3759877e90a8527db
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix #17634.~ Also trusty build has been removed for the following reasons: - #17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - #17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close #17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix bitcoin#17634.~ Also trusty build has been removed for the following reasons: - bitcoin#17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - bitcoin#17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close bitcoin#17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
@fanquake @MarcoFalke Backport to 0.19 ? |
This commit fixes build on CentOS 7 with GCC 4.8.5 Github-Pull: bitcoin#17634 Rebased-From: b66861e
Github-Pull: bitcoin#17634 Rebased-From: 98fbd1c
Being backported as part of 17792. |
cd67b1d Use correct C++11 header for std::swap() (Hennadii Stepanov) b8101fb Fix comparison function signature (Hennadii Stepanov) eac4907 Don't allow implementers to think ScriptHash(Witness*()) results in nesting computation (Gregory Sanders) e2c45d8 IsUsedDestination shouldn't use key id as script id for ScriptHash (Gregory Sanders) a5489c9 IsUsedDestination should count any known single-key address (Gregory Sanders) 88729d8 Fix issue with conflicted mempool tx in listsinceblock (Adam Jonas) eafcea7 gui: Fix duplicate wallet showing up (João Barbosa) 7e66d04 Drop signal CClientUIInterface::LoadWallet (Russell Yanofsky) 179d55f zmq: Fix due to invalid argument and multiple notifiers (João Barbosa) Pull request description: Backports - #16963 - #17445 - #17258 - #17621 - #17924 - #17634 ACKs for top commit: laanwj: ACK cd67b1d, checked that I got more or less the same result (including conflict resolution) backporting these commits Tree-SHA512: 645786267cfb10a01a56f7cfd91ddead5f1475df5714595ae480237e04d40c5cfb7460b40532279cacd83e4b775a4ace68a258ec2184b8ad0e997a690a9245e5
- [0.19] wallet: Reset reused transactions cache bitcoin#18083 - 0.19: Backports bitcoin#17792 - psbt: handle unspendable psbts bitcoin#17524 - qt: Fix comparison function signature bitcoin#17634 - psbt: check that various indexes and amounts are within bounds bitcoin#17156 - [0.19] psbt: check that various indexes and amounts are within bounds bitcoin#18079 - [0.19] Final backports for 0.19.1 bitcoin#17988 - Bug: IsUsedDestination shouldn't use key id as script id for ScriptHash bitcoin#17924 - qt: Fix deprecated QCharRef usage bitcoin#18101 - gui: Throttle GUI update pace when -reindex bitcoin#18121 - gui: Fix race in WalletModel::pollBalanceChanged bitcoin#18123 - gui: Fix unintialized WalletView::progressDialog bitcoin#18062 - Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open bitcoin#18007 - bug-fix macos: give free bytes to F_PREALLOCATE bitcoin#17887 - test: add missing #include to fix compiler errors bitcoin#17980 - zmq: Fix due to invalid argument and multiple notifiers bitcoin#17445
Summary: This is a backport of Core [[bitcoin/bitcoin#17634 | PR17634]] [2/2] bitcoin/bitcoin@98fbd1c Depends on D8281 The header `algorithm` is needed in `cuckoocache.h` for `std::find` (see [[bitcoin/bitcoin#18565 | PR18565]]). I'm not sure how Core got away with removing it for multiple months, for us it cause a compiler error. Test Plan: `ninja && ninja check` Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D8282
98fbd1c Use correct C++11 header for std::swap() (Hennadii Stepanov) b66861e Fix comparison function signature (Hennadii Stepanov) Pull request description: This PR fixes build on CentOS 7 with GCC 4.8.5: ``` ... In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Tp = RecentRequestEntry; _Compare = RecentRequestEntryLessThan]’: /usr/include/c++/4.8.2/bits/stl_algo.h:2296:78: required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:2337:62: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = QList<RecentRequestEntry>::iterator; _Size = int; _Compare = RecentRequestEntryLessThan]’ /usr/include/c++/4.8.2/bits/stl_algo.h:5499:44: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = QList<RecentRequestEntry>::iterator; _Compare = RecentRequestEntryLessThan]’ qt/recentrequeststablemodel.cpp:208:82: required from here /usr/include/c++/4.8.2/bits/stl_algo.h:2263:35: error: no match for call to ‘(RecentRequestEntryLessThan) (RecentRequestEntry&, const RecentRequestEntry&)’ while (__comp(*__first, __pivot)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 2 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ In file included from /usr/include/c++/4.8.2/algorithm:62:0, from ./serialize.h:11, from ./qt/sendcoinsrecipient.h:13, from ./qt/recentrequeststablemodel.h:8, from qt/recentrequeststablemodel.cpp:5: /usr/include/c++/4.8.2/bits/stl_algo.h:2266:34: error: no match for call to ‘(RecentRequestEntryLessThan) (const RecentRequestEntry&, RecentRequestEntry&)’ while (__comp(__pivot, *__last)) ^ In file included from qt/recentrequeststablemodel.cpp:5:0: ./qt/recentrequeststablemodel.h:43:7: note: candidate is: class RecentRequestEntryLessThan ^ qt/recentrequeststablemodel.cpp:217:6: note: bool RecentRequestEntryLessThan::operator()(RecentRequestEntry&, RecentRequestEntry&) const bool RecentRequestEntryLessThan::operator()(RecentRequestEntry &left, RecentRequestEntry &right) const ^ qt/recentrequeststablemodel.cpp:217:6: note: no known conversion for argument 1 from ‘const RecentRequestEntry’ to ‘RecentRequestEntry&’ CXX qt/qt_libbitcoinqt_a-sendcoinsentry.o make[2]: *** [qt/qt_libbitcoinqt_a-recentrequeststablemodel.o] Error 1 ``` Also for `std::swap()` header `<algorithm>` is replaced with `<utility>` one. Refs: - [`std::swap()`](https://en.cppreference.com/w/cpp/algorithm/swap) - [standard library header `<utility>`](https://en.cppreference.com/w/cpp/header/utility) ACKs for top commit: promag: Code review ACK 98fbd1c. jonasschnelli: utACK 98fbd1c fanquake: ACK 98fbd1c Tree-SHA512: 91324490c1bdb98f186d233418e7e72ae7bee507876e94fb8c038bee031cea9e1046900f21156da4b7c33abcd726796867b124c4132d9ae3759877e90a8527db
711e044 ci: Remove trusty build (Hennadii Stepanov) 7f3ae22 ci: Add CentOS 7 build (Hennadii Stepanov) Pull request description: Arguably, CentOS is the most conservative distro of all the popular ones. Thus, it could be a good way to check the Bitcoin Core compatibility with aged dependencies. Currently, CentOS 7 has: - Berkeley DB == 4.8.30 - Boost == 1.53.0 - GCC == 4.8.5 - libevent == 2.0.21 < minimum required [2.0.22](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md), but tests passed - MiniUPnPc == 2.0 - Python == 3.6.8 - qrencode == 3.4.1 - Qt == 5.9.7 - ZeroMQ == 4.1.4 ~Please note that this PR is based on the bugfix bitcoin#17634.~ Also trusty build has been removed for the following reasons: - bitcoin#17628 (comment): > Maybe it'd make sense to replace Ubuntu Trusty with Centos 7 as the "check ancient backward compatibililty" Travis run. It's supported until 2024, apparently. - bitcoin#17635 (comment): > Our travis is currently running at its limit and this doesn't seem like it is adding a lot new coverage compared to the other builds. Close bitcoin#17628 ACKs for top commit: MarcoFalke: ACK 711e044 🚠 Tree-SHA512: 614ec8394943f482a5867067f7119bffd052924a51e32ffda9a08e10c392c4a955a3539e2f8907cb65bfd9347dadf0ba62f6d1530bbc49927c347360a5a7f73c
This PR fixes build on CentOS 7 with GCC 4.8.5:
Also for
std::swap()
header<algorithm>
is replaced with<utility>
one.Refs:
std::swap()
<utility>