Skip to content
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

depends: Fix build of Qt for 32-bit platforms with recent glibc #29985

Merged
merged 1 commit into from Apr 30, 2024

Conversation

laanwj
Copy link
Member

@laanwj laanwj commented Apr 28, 2024

The 32 to 64-bit time_t transition causes a build failure in the built-in zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch

Closes #29980.

@DrahtBot
Copy link
Contributor

DrahtBot commented Apr 28, 2024

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

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK hebasto, fanquake

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #29923 (depends: Remove Qt build-time dependencies by laanwj)

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.

@hebasto
Copy link
Member

hebasto commented Apr 28, 2024

Concept ACK. I was thinking about picking up the same patch :)

@laanwj laanwj changed the title depends: Fix build of Qt for 32-bit platforms depends: Fix build of Qt for 32-bit platforms with recent glibcs Apr 28, 2024
@laanwj laanwj changed the title depends: Fix build of Qt for 32-bit platforms with recent glibcs depends: Fix build of Qt for 32-bit platforms with recent glibc Apr 28, 2024
Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

Approach ACK e4c1a0c, reviewed and tested on Ubuntu 24.04.

I'm going to submit Guix build hashes shortly.

depends/packages/qt.mk Outdated Show resolved Hide resolved
@laanwj laanwj force-pushed the 2024-04-qt-gzip-time64 branch 2 times, most recently from b1bd981 to 2fb0092 Compare April 28, 2024 12:09
@laanwj
Copy link
Member Author

laanwj commented Apr 28, 2024

Force-pushed because somehow had gzip and zlib names mixed up in my head, only the branch name remains 😄 No other changes.

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

My Guix builds:

x86_64
1a25e6c850955fe222604b29409f46da89d1dd987b9e4ecb1e0c584638d0b306  guix-build-2fb0092a9cc5/output/aarch64-linux-gnu/SHA256SUMS.part
1616ef50b4eb68240353fea259ceb9dbe387047389b56ea97049121d00cccb7a  guix-build-2fb0092a9cc5/output/aarch64-linux-gnu/bitcoin-2fb0092a9cc5-aarch64-linux-gnu-debug.tar.gz
27815c05ea9efb38297e9df97a042876063f83bec3f9054a4170b406b80b31a9  guix-build-2fb0092a9cc5/output/aarch64-linux-gnu/bitcoin-2fb0092a9cc5-aarch64-linux-gnu.tar.gz
6a5172a7a2377745237f019ec8904b3d349e3719be1430c860245bc309079196  guix-build-2fb0092a9cc5/output/arm-linux-gnueabihf/SHA256SUMS.part
b0cd99df30bd1538adbd3a3b8ddbfbf88ce8f727cd64473b051eeb25048bb860  guix-build-2fb0092a9cc5/output/arm-linux-gnueabihf/bitcoin-2fb0092a9cc5-arm-linux-gnueabihf-debug.tar.gz
b24b9751ea02ab48287f5c769277bda705d1118529df2d86092ba44e2e530296  guix-build-2fb0092a9cc5/output/arm-linux-gnueabihf/bitcoin-2fb0092a9cc5-arm-linux-gnueabihf.tar.gz
38ed6ec21ec0e3db4e04680a1465a2730bd272f5d4c827e84bf6db7c2d4f6a00  guix-build-2fb0092a9cc5/output/arm64-apple-darwin/SHA256SUMS.part
2c83f5f4708b6945af7442eb06419bbe80845294ff7b4a250e3304d562b1df50  guix-build-2fb0092a9cc5/output/arm64-apple-darwin/bitcoin-2fb0092a9cc5-arm64-apple-darwin-unsigned.tar.gz
778c3b0669e92882f4466afff4357dd2bdd2692aec713f8ddfd27dc466c1977f  guix-build-2fb0092a9cc5/output/arm64-apple-darwin/bitcoin-2fb0092a9cc5-arm64-apple-darwin-unsigned.zip
0bbe336088365464c96dc48cca6a648b6a5242e5a9bd23ceb95a4294f1cba05a  guix-build-2fb0092a9cc5/output/arm64-apple-darwin/bitcoin-2fb0092a9cc5-arm64-apple-darwin.tar.gz
09e541507b55916960ece135d999d61df6f3384d1ac8b2e68977ad5afa403664  guix-build-2fb0092a9cc5/output/dist-archive/bitcoin-2fb0092a9cc5.tar.gz
03ffcaad9bc100e7a404838bb2c668f932112c0cca0c8b796dc78b24ddd9f0da  guix-build-2fb0092a9cc5/output/powerpc64-linux-gnu/SHA256SUMS.part
4c9e380a8460c2cddda184cda8cb798a2e9833ac01a594c8a00c32139a2a5ddf  guix-build-2fb0092a9cc5/output/powerpc64-linux-gnu/bitcoin-2fb0092a9cc5-powerpc64-linux-gnu-debug.tar.gz
287ba4098d6c4b2bee508b3e081d43d7f93f7f7bb67e3d312f5432875806613d  guix-build-2fb0092a9cc5/output/powerpc64-linux-gnu/bitcoin-2fb0092a9cc5-powerpc64-linux-gnu.tar.gz
aa5fba6ced4f9ab2924973320f7800de0812ba8bdf5f238652afc34dcb912c9f  guix-build-2fb0092a9cc5/output/riscv64-linux-gnu/SHA256SUMS.part
b3d38359beef8abd28d3329cf78179b202940a64844fcbf5fdf3a85e2599e663  guix-build-2fb0092a9cc5/output/riscv64-linux-gnu/bitcoin-2fb0092a9cc5-riscv64-linux-gnu-debug.tar.gz
85964644704d03ae3d2343ef63bcbd884b216a41929b26fbf56cbe2fa079fc50  guix-build-2fb0092a9cc5/output/riscv64-linux-gnu/bitcoin-2fb0092a9cc5-riscv64-linux-gnu.tar.gz
611a0e960d6cd5b3ad9d7c29f6d021d9519356ceb57ade57e4de02d2a908c177  guix-build-2fb0092a9cc5/output/x86_64-apple-darwin/SHA256SUMS.part
c267336053217e1b430d36de4df33403168217083dbc1115f75f7e5f188560fe  guix-build-2fb0092a9cc5/output/x86_64-apple-darwin/bitcoin-2fb0092a9cc5-x86_64-apple-darwin-unsigned.tar.gz
3acb58f370eee8631fba0d71ff596edc32527fcd3f1d566c037663e739bf9605  guix-build-2fb0092a9cc5/output/x86_64-apple-darwin/bitcoin-2fb0092a9cc5-x86_64-apple-darwin-unsigned.zip
1b4385e864ad9a9797e8fb24ff591e9d65f7e2f191535592ccbed83043068fd3  guix-build-2fb0092a9cc5/output/x86_64-apple-darwin/bitcoin-2fb0092a9cc5-x86_64-apple-darwin.tar.gz
0712463a3c3e3bf76355ff707ee0435ac8f8ec7cabdc52635b0e991c861627b0  guix-build-2fb0092a9cc5/output/x86_64-linux-gnu/SHA256SUMS.part
40d8c047f4082154a0741e3e72e39d8d1f58871f15ee5cbf6c8c20d55bdfb772  guix-build-2fb0092a9cc5/output/x86_64-linux-gnu/bitcoin-2fb0092a9cc5-x86_64-linux-gnu-debug.tar.gz
51a6ed9297ea96407bce997de3e610d62fd487e84df1bab52915b899f57bc0f8  guix-build-2fb0092a9cc5/output/x86_64-linux-gnu/bitcoin-2fb0092a9cc5-x86_64-linux-gnu.tar.gz
a7ff61b4e6f6a04c2b22738c01b7fdf16ef067b23996ecb74d6a90abf6098c84  guix-build-2fb0092a9cc5/output/x86_64-w64-mingw32/SHA256SUMS.part
5de5c82b1adb2a26e6b174113086a53609109b6017d6fed0ed2ce7b5fc189db0  guix-build-2fb0092a9cc5/output/x86_64-w64-mingw32/bitcoin-2fb0092a9cc5-win64-debug.zip
8fba05a67e3b7ad8e584f447ec8d424334f6b16c10c23c7484fa52ce148dd296  guix-build-2fb0092a9cc5/output/x86_64-w64-mingw32/bitcoin-2fb0092a9cc5-win64-setup-unsigned.exe
fcffe3b368ea7ae8183b906539d7562307ddf345e43426f48d81b4ff74b31679  guix-build-2fb0092a9cc5/output/x86_64-w64-mingw32/bitcoin-2fb0092a9cc5-win64-unsigned.tar.gz
fb94ca7e2a9da43e6a8db6ceb5a4b9dd3e49703effef6d977b4c68cc3c116601  guix-build-2fb0092a9cc5/output/x86_64-w64-mingw32/bitcoin-2fb0092a9cc5-win64.zip

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

ACK 2fb0092.

depends/patches/qt/zlib-timebits64.patch Outdated Show resolved Hide resolved
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch

Closes bitcoin#29980.
@laanwj
Copy link
Member Author

laanwj commented Apr 29, 2024

Force-pushed to apply @hebasto's comment to make the patch apply cleanly.

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

re-ACK 2e266f3.

@hebasto
Copy link
Member

hebasto commented Apr 29, 2024

My Guix builds:

x86_64
7bd0bf18cb3b17ee5829ca24e7488d0d022e280d0f56ff04c20f9199f787178a  guix-build-2e266f33b5d2/output/aarch64-linux-gnu/SHA256SUMS.part
9c07a926fbdafff0f189c454652ccf9028e4ba9c44826b7874affc69bc5b5ae9  guix-build-2e266f33b5d2/output/aarch64-linux-gnu/bitcoin-2e266f33b5d2-aarch64-linux-gnu-debug.tar.gz
8d9ce23406bbcc33f2cc4147f06c715c44c5b0cc18af6be296862c3e531f3f97  guix-build-2e266f33b5d2/output/aarch64-linux-gnu/bitcoin-2e266f33b5d2-aarch64-linux-gnu.tar.gz
34a379522f5ef899c49b90aab7a4aca24a73388d392f5003bd17e60e09fc482e  guix-build-2e266f33b5d2/output/arm-linux-gnueabihf/SHA256SUMS.part
ceb4c3b2d74d4f3bbb38a884eeb3de428e2d1451894b46bef4cfde133411402b  guix-build-2e266f33b5d2/output/arm-linux-gnueabihf/bitcoin-2e266f33b5d2-arm-linux-gnueabihf-debug.tar.gz
9fac0f6c20f632f7800943fe4da85a5bafee0c31bf31c53f1800cfe13fc3bbd0  guix-build-2e266f33b5d2/output/arm-linux-gnueabihf/bitcoin-2e266f33b5d2-arm-linux-gnueabihf.tar.gz
0bac22b4cc7a8cd528bd3db4422ea33a8a53ded6313ee501574e9b3116a76db3  guix-build-2e266f33b5d2/output/arm64-apple-darwin/SHA256SUMS.part
45e58870ddbfd68f30933b546149e29ed5fe49cfe43e9fe46707e7cbaff2c8bf  guix-build-2e266f33b5d2/output/arm64-apple-darwin/bitcoin-2e266f33b5d2-arm64-apple-darwin-unsigned.tar.gz
19df683339246458595aa692729f19fbb19e037bc6cddb4f7b137c34b511736c  guix-build-2e266f33b5d2/output/arm64-apple-darwin/bitcoin-2e266f33b5d2-arm64-apple-darwin-unsigned.zip
3a8bf0b89f7685753cb2d20bd4841ed156652d7354ddc8935f37c2782cd1865d  guix-build-2e266f33b5d2/output/arm64-apple-darwin/bitcoin-2e266f33b5d2-arm64-apple-darwin.tar.gz
fba7b8d201310534539262eee6f204d1de2a0042a990516474c71573d514f6ac  guix-build-2e266f33b5d2/output/dist-archive/bitcoin-2e266f33b5d2.tar.gz
a10cdac9e133a5062d38cbab2dfd53ed44f3a9ae17260f3aa26dd61f3f473a15  guix-build-2e266f33b5d2/output/powerpc64-linux-gnu/SHA256SUMS.part
8e22e2b099179573bd03d0d5d312416e89be193ce7f7ce4fab0975d2d59efbfd  guix-build-2e266f33b5d2/output/powerpc64-linux-gnu/bitcoin-2e266f33b5d2-powerpc64-linux-gnu-debug.tar.gz
3b0f54d2cce44a0e0640c48a3c91c73b3d7c595dea75dcb0f9d60423ee222ac0  guix-build-2e266f33b5d2/output/powerpc64-linux-gnu/bitcoin-2e266f33b5d2-powerpc64-linux-gnu.tar.gz
98bb33c78a52eb36c2aa49415dba087fdf2af77ffc7993b0a99f0d4fb15c402f  guix-build-2e266f33b5d2/output/riscv64-linux-gnu/SHA256SUMS.part
b6e637ad410d34c6b677e198250969c6a91240cc81cfc8d1499921234f188544  guix-build-2e266f33b5d2/output/riscv64-linux-gnu/bitcoin-2e266f33b5d2-riscv64-linux-gnu-debug.tar.gz
137bbe13ba8462f0ea5f3f9a26be8010671140841e20d492b9812f38ea277b58  guix-build-2e266f33b5d2/output/riscv64-linux-gnu/bitcoin-2e266f33b5d2-riscv64-linux-gnu.tar.gz
cdaaa0da94885c177264d24a9660387ff131df04066e063433f54d20d93f5116  guix-build-2e266f33b5d2/output/x86_64-apple-darwin/SHA256SUMS.part
36743ef1b9f787ff970be30123d6b21cef88c7c22ee60d94982055dadb257544  guix-build-2e266f33b5d2/output/x86_64-apple-darwin/bitcoin-2e266f33b5d2-x86_64-apple-darwin-unsigned.tar.gz
ea4e94583d55f56a2a3476da748d03d60bf9204bd591b6a88b184a36917cc9d0  guix-build-2e266f33b5d2/output/x86_64-apple-darwin/bitcoin-2e266f33b5d2-x86_64-apple-darwin-unsigned.zip
f47b5c097e069d340bc2cc4a03ffc268e138361efdd5ef1f15871f71135fe399  guix-build-2e266f33b5d2/output/x86_64-apple-darwin/bitcoin-2e266f33b5d2-x86_64-apple-darwin.tar.gz
feb166f93297d32f197ee534a76e41f0c8bcaa81b18f0e18dad7eb3af622611f  guix-build-2e266f33b5d2/output/x86_64-linux-gnu/SHA256SUMS.part
1a1817074042243c5f61713c601aa96da9afc5e23bd45d728eb5e2a593a8219d  guix-build-2e266f33b5d2/output/x86_64-linux-gnu/bitcoin-2e266f33b5d2-x86_64-linux-gnu-debug.tar.gz
7cb9c3ae3630e2507f908e8ecc8d93fa878ad40676f011a86978370bed9713f9  guix-build-2e266f33b5d2/output/x86_64-linux-gnu/bitcoin-2e266f33b5d2-x86_64-linux-gnu.tar.gz
8619706e7362dc4ced64efb2d756786260e808b3fd80d070fe6d25a431bd1dcc  guix-build-2e266f33b5d2/output/x86_64-w64-mingw32/SHA256SUMS.part
1750a5b1c84b9d3afc6143767078d233867994bfc78512f378b6a358a637728f  guix-build-2e266f33b5d2/output/x86_64-w64-mingw32/bitcoin-2e266f33b5d2-win64-debug.zip
d07e72ed727a6e70c709fe9a2ec95ebf6bc7f752320a9dfd2e1b1bd1a7b7fda5  guix-build-2e266f33b5d2/output/x86_64-w64-mingw32/bitcoin-2e266f33b5d2-win64-setup-unsigned.exe
3978baa7e9c02b606a5477185a990be12ebe818c0e991c85b34d6198999ed66f  guix-build-2e266f33b5d2/output/x86_64-w64-mingw32/bitcoin-2e266f33b5d2-win64-unsigned.tar.gz
37e2fcbc9f609b9ef52488a14d5994646347872f34e12a5e13136c776b6ebfda  guix-build-2e266f33b5d2/output/x86_64-w64-mingw32/bitcoin-2e266f33b5d2-win64.zip

@DrahtBot
Copy link
Contributor

Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

File commit 19865a8
(master)
commit d87acce
(master and this pull)
SHA256SUMS.part ca02d3c22ae3b162... 86008e0cb18a3f2a...
*-aarch64-linux-gnu-debug.tar.gz 57761917fbb430e7... 7cf2cafa372e5a22...
*-aarch64-linux-gnu.tar.gz 513787cb7963a8d8... 81ba3516644b9c0b...
*-arm-linux-gnueabihf-debug.tar.gz 6c6469803816f506... e006b5adac7fb45a...
*-arm-linux-gnueabihf.tar.gz 5dc55e8ad81d29bf... f1b3cdce4198abcb...
*-arm64-apple-darwin-unsigned.tar.gz 9d05ad7307b509e2... 0329c35e0780c1de...
*-arm64-apple-darwin-unsigned.zip d2d03f05fd5da040... 874860e4d087d774...
*-arm64-apple-darwin.tar.gz 5b424f7dfc5bef17... 6dbed4b782e44c96...
*-powerpc64-linux-gnu-debug.tar.gz df26fb100d0ce96b... fa5b9e675c3063cc...
*-powerpc64-linux-gnu.tar.gz 45c86329c83f1bf5... c44fe6dccb207426...
*-riscv64-linux-gnu-debug.tar.gz 1c03ff26ae96d543... dc834ebcfbc0004e...
*-riscv64-linux-gnu.tar.gz 11c4ea12f2ad6f39... b1116cf93185375c...
*-x86_64-apple-darwin-unsigned.tar.gz 5497663bd30c0fbb... 52d0b2a22212aaec...
*-x86_64-apple-darwin-unsigned.zip 2399330e1d066f72... a041a47103968835...
*-x86_64-apple-darwin.tar.gz c602d99708508a47... 830f08fab60f6772...
*-x86_64-linux-gnu-debug.tar.gz 157ed4139f319089... 4194ee103f6b996a...
*-x86_64-linux-gnu.tar.gz c6ff182003d5c0b6... 234fa6bfb445ef30...
*.tar.gz 926faafca6853913... 1ef6d606f0f05647...
guix_build.log 3bc64e5930ba3020... de3395458c1b6e34...
guix_build.log.diff 7927babbdf68536d...

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

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

ACK 2e266f3 - at some point qt's open source 5.15.x branch will catch up to where they bumped the internal zlib to >= 1.3 (which contains this change), and we'll be able to drop this patch. Checked that it fixes the build issue in the interim.

@fanquake fanquake merged commit ad42d63 into bitcoin:master Apr 30, 2024
16 checks passed
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Apr 30, 2024
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch

Closes bitcoin#29980.

Github-Pull: bitcoin#29985
Rebased-From: 2e266f3
@fanquake fanquake mentioned this pull request Apr 30, 2024
@fanquake
Copy link
Member

Backported to 27.x in #29888.

luke-jr pushed a commit to bitcoinknots/bitcoin that referenced this pull request May 8, 2024
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch

Closes bitcoin#29980.

Github-Pull: bitcoin#29985
Rebased-From: 2e266f3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

depends: Cross-compiling qt for arm-linux-gnueabihf fails
5 participants