Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Nov 29, 2019

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, 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:

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.

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

@hebasto
Copy link
Member Author

hebasto commented Nov 29, 2019

@laanwj's #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.

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 30, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17490 (ci: Add valgrind run by MarcoFalke)
  • #12134 (Build previous releases and run functional tests by Sjors)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@practicalswift
Copy link
Contributor

Concept ACK: diversity in testing is good

Copy link

@paymog paymog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm new to the bitcoin codebase but this generally LGTM.

@fanquake
Copy link
Member

fanquake commented Dec 2, 2019

Concept ACK

@hebasto hebasto force-pushed the 20191129-travis-centos-build branch from 986aee8 to 8f62ec6 Compare December 2, 2019 16:36
@hebasto
Copy link
Member Author

hebasto commented Dec 2, 2019

Rebased after #17634 has been merged.

@hebasto hebasto force-pushed the 20191129-travis-centos-build branch from 8f62ec6 to d88782e Compare December 3, 2019 05:45
@laanwj
Copy link
Member

laanwj commented Dec 3, 2019

I think you should do a depends build here.

While the binary (and the tests) must run on CentOS 7 (this was a constraint on the libc version in #17538), it doesn't need to build with the ancient library versions provided there: CentOS 7 does not put a restriction on our minimum dependency versions.

@laanwj
Copy link
Member

laanwj commented Dec 3, 2019

This also implicitly restricts the minimum supported g++ version to 4.8.5, complicating #16684 in the future. But I think we can worry about that then (maybe there's a way to install a newer compiler, no need to hold this up now).

@hebasto
Copy link
Member Author

hebasto commented Dec 3, 2019

I think you should do a depends build here.

I have encountered a libevent build error on Travis (the local build is ok). Going to debug...

@maflcko
Copy link
Member

maflcko commented Dec 3, 2019

But then, what is the point of using CentOs 7 to get all the old packages (of boost, etc) when a depends build is done anyway?

@laanwj
Copy link
Member

laanwj commented Dec 3, 2019

I don't know. Some of the package versions make sense, for Qt even recent (5.9.7 is from last year), but In the case of libevent the version is absurdly old.

@maflcko
Copy link
Member

maflcko commented Dec 3, 2019

We mostly had issues with compiling against older versions of boost (and qt). If the trusty run is eventually removed, we should have something else to run against an old version of boost.

@laanwj
Copy link
Member

laanwj commented Dec 3, 2019

yes, the boost version is OK; and I don't think we can do a depends build without boost at this point

aj on IRC commented something about "software collections", could this be used to install a newer version of libevent only?

@hebasto
Copy link
Member Author

hebasto commented Dec 3, 2019

aj on IRC commented something about "software collections", could this be used to install a newer version of libevent only?

https://www.softwarecollections.org/en/scls/?search=libevent

... nothing.

@maflcko
Copy link
Member

maflcko commented Dec 3, 2019

ACK d88782e

@maflcko
Copy link
Member

maflcko commented Dec 3, 2019

A nice follow up (either a new commit or pr) would be to adjust the readme and the list of packages to only the needed ones: boost-thread boost-test boost-filesystem boost-chrono instead of the entirety of boost.

@hebasto
Copy link
Member Author

hebasto commented Dec 3, 2019

A nice follow up (either a new commit or pr) would be to adjust the readme and the list of packages to only the needed ones: boost-thread boost-test boost-filesystem boost-chrono instead of the entirety of boost.

CentOS / Fedora has only one boost-devel package.
There is no boost-{thread|test|filesystem|chrono}-devel packages, unfortunately.

@promag
Copy link
Contributor

promag commented Dec 6, 2019

ACK d88782e.

@maflcko maflcko changed the title build: Add Travis CentOS 7 build ci: Add CentOS 7 build Dec 6, 2019
hebasto and others added 2 commits December 6, 2019 21:44
Co-authored-by: Emil Engler <me@emilengler.com>
@hebasto hebasto force-pushed the 20191129-travis-centos-build branch from d88782e to 711e044 Compare December 6, 2019 19:56
@maflcko
Copy link
Member

maflcko commented Dec 7, 2019

ACK 711e044 🚠

Show signature and timestamp

Signature:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

ACK 711e0449cf4a0f15cabe0d64094e3add24ad44b0 🚠
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p
pUgl0gv/fWA9rxwx5f/Yr178u4iXUkmIRtbazRKORuGeAEPzOoWCG1hpOWMMUaX+
UUqNn9hEPu5J9lLfZdPItdVLyjKRTFu6Ch2iLmRstrn9Nev6q3wwKNnY6vjNVNdd
KZAJVnA11eEGIcfhhMlTCy7+E4IQB+mI8/+HL/KmHnckhaVfTLBp5ZEt0MUJf/GT
8lQ+/qjr0uUd6dCt6TsqpEitdbA5F8TTGENT9z49AnlDNdFgFjnoI4NMALvwftnw
r+aqwBprafaKyJrl1zcnr1e+2O33kD884+NAINfoVHMQ6VKKQyg9mTqa1yzrLoQu
9qkk1qwxaxL1+XHbux1gyRXQc8J7SnBy7qZg2tOpB1QshaC9CYgukIX540uEFJab
xVitKe0MZLnwIbTx8CATN90bm+/EcmiCmJHunPPWv8A4oJKwPDlIeqIFT4UsfzWy
bDWM4UW3U/0PS+guH1Y8gNIPCUd+J1ECuaHjFbYjeBrnbvK1Wz0sZX8vBE2HfpPN
4gDSSFSh
=UKBg
-----END PGP SIGNATURE-----

Timestamp of file with hash 6113c2488002e62c4f29f31002293d1c4fcd8b73206b423cb8ff1244d50cc142 -

maflcko pushed a commit that referenced this pull request Dec 7, 2019
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
@maflcko maflcko merged commit 711e044 into bitcoin:master Dec 7, 2019
@hebasto hebasto deleted the 20191129-travis-centos-build branch December 7, 2019 09:21
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 7, 2019
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
@elichai
Copy link
Contributor

elichai commented Dec 8, 2019

ACK After merge. I actually think this can help us more confidently bump the C++ version in the future (probably will require bumping to CentOS 8)

sidhujag pushed a commit to syscoin-core/syscoin that referenced this pull request Nov 10, 2020
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
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Criteria to drop Trusty Travis
9 participants