Skip to content

Conversation

luke-jr
Copy link
Member

@luke-jr luke-jr commented Aug 17, 2020

Just using upstream libpng from #14066

This should be testable/reviewable without a PPC64 machine (and once merged should avoid needing to rebuild Qt for #14066).

@hebasto
Copy link
Member

hebasto commented Aug 18, 2020

As https://bugreports.qt.io/browse/QTBUG-66388 seems resolved for Qt 5.12 could this change be skipped, and building PPC64 binaries postponed?

@luke-jr
Copy link
Member Author

luke-jr commented Aug 18, 2020

They've already been postponed an annoyingly long time. Using upstream libpng is better anyway - the one bundled with Qt is at best a slower "bare minimum".

@hebasto
Copy link
Member

hebasto commented Aug 18, 2020

They've already been postponed an annoyingly long time. Using upstream libpng is better anyway - the one bundled with Qt is at best a slower "bare minimum".

Concept ACK.

@luke-jr
Copy link
Member Author

luke-jr commented Aug 18, 2020

Applied the proposed changes

@DrahtBot
Copy link
Contributor

Guix builds

File commit 1bc8e8e
(master)
commit 351605f
(master and this pull)
*-aarch64-linux-gnu-debug.tar.gz ba41f394f562c9ec... a13caa8eb36ce3f7...
*-aarch64-linux-gnu.tar.gz 70d920e06497e77b... bd67d720785d009b...
*-arm-linux-gnueabihf-debug.tar.gz 1af0f9da257d8cdb... 3dd5c901c2369bee...
*-arm-linux-gnueabihf.tar.gz 4017f134a463404c... 6a339e1a89544a3f...
*-riscv64-linux-gnu-debug.tar.gz ac6e7216502ab750... 4829de0abd996453...
*-riscv64-linux-gnu.tar.gz fded0f57f7a0fe6c... 43dce998646be93c...
*-win-unsigned.tar.gz ee2b6e81325c9277... 2260533c9904fb12...
*-win64-debug.zip c27b3c9b14d2aa2f... 39d87278d214e334...
*-win64-setup-unsigned.exe 8a09c5a88d0f5735... 9bb02b9a2be497da...
*-win64.zip e7f5f963a6e490be... 0ffca41dbdda164a...
*-x86_64-linux-gnu-debug.tar.gz bb2303a5a9e2d901... c82da45e10d2dd9b...
*-x86_64-linux-gnu.tar.gz 6c0be417f285c32c... c1b4021ccd0a81e3...
*.tar.gz 9e674ed0081c5f0b... 5d96d76e01553899...
guix_build.log 9d3c81b395c6f903... 0c318b8fd420afab...
guix_build.log.diff bfd219662c47a00a...

@hebasto
Copy link
Member

hebasto commented Aug 19, 2020

Cannot make gitian build for macOS. Sure it is not related to this PR though. nm, was pointed at #19240

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 8d8d3f1, tested on Linux Mint 20 (x86_64):

  • verified version and known vulnerabilities (http://libpng.org/pub/png/libpng.html)
  • verified the download link and the downloaded archive hash
  • locally built libpng16.a, verified configure options and output

Gitian builds:

4995b8f64c966d17d9aa8db328ad32e07fc1c9d411c611a236d4129eb3b40608  bitcoin-8d8d3f139673-aarch64-linux-gnu-debug.tar.gz
f9e26ef0e9482ce08f8b5c55d42db23d3c8f428222311901fcdbfa972d4c1972  bitcoin-8d8d3f139673-aarch64-linux-gnu.tar.gz
36dcb911729493e70123a4d4a826ea2e1744e57fa34d43b2bb469764985363e5  bitcoin-8d8d3f139673-arm-linux-gnueabihf-debug.tar.gz
0074ce82fff383930bc426ca17cb49d1dcb8a2f5080186eb9d0a9a3ecd39bc33  bitcoin-8d8d3f139673-arm-linux-gnueabihf.tar.gz
328e5756d14428a5abe357ccfe67ed998d3bf78c238e34d9e71b2d40eb8be7e4  bitcoin-8d8d3f139673-riscv64-linux-gnu-debug.tar.gz
2a557d53a2b7efd88619318241460f7b9df0d25df072a9e746352c4095bc624b  bitcoin-8d8d3f139673-riscv64-linux-gnu.tar.gz
f5a099afb3b7bc2a90f1b3b32258242a89fc286c171546d305bc8f7eb3d3610b  bitcoin-8d8d3f139673-x86_64-linux-gnu-debug.tar.gz
660c86f13069dd7f189e1c5110fbeda53657a0a220b5ee6b76328ef0a283ef71  bitcoin-8d8d3f139673-x86_64-linux-gnu.tar.gz

b1d19a481ea6cc8279d8cc184139992fd3469b6be1bcf86576752aaf11d987c8  bitcoin-8d8d3f139673-win-unsigned.tar.gz
59127b06b566b243664ef5699a78c54841fc81b4122a046b1332b250dee081f2  bitcoin-8d8d3f139673-win64-debug.zip
7821e41feeaf713083132129eda25040d75e8d2c36229422854b0986efb5c2eb  bitcoin-8d8d3f139673-win64-setup-unsigned.exe
b620958be279680e259ed1ca366f98f7a2880c32fdd42e9645efe44c8443e69d  bitcoin-8d8d3f139673-win64.zip

5a46200cfb7e527d5b75ba50e615bff13ec76aa7022fc32978ab8baa9c160d2c  bitcoin-8d8d3f139673-osx-unsigned.dmg
ce3790234531e8013471d1b7bd3c57df3c6474c4ef61d0cbb3744ff13553ebc6  bitcoin-8d8d3f139673-osx-unsigned.tar.gz
1053e6776209260d58d695543bad261690c1b71b90d52e96588e68d17c972cf7  bitcoin-8d8d3f139673-osx64.tar.gz

88224654414478c5602342e14ee8aedcbf31f7416d8e914b750314e062de756e  src/bitcoin-8d8d3f139673.tar.gz

Tested bitcoin-qt gitian binaries on:

  • Linux Mint 20 (x86_64)
  • Windows 10 2004 (build 19041.450)
  • macOS 10.15.6 (19G2021)

@DrahtBot
Copy link
Contributor

DrahtBot commented Aug 20, 2020

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

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.

@DrahtBot
Copy link
Contributor

Gitian builds

File commit e9b3012
(master)
commit 8ec6ac3
(master and this pull)
bitcoin-core-linux-0.21-res.yml cea1ba265603d02f... 8ac64d17ff0d0674...
bitcoin-core-osx-0.21-res.yml 77d7884f6a574134... 5d3bc3dbe6b71923...
bitcoin-core-win-0.21-res.yml 0b0f6bbbd9a5c0ef... d5dad076973f6050...
*-aarch64-linux-gnu-debug.tar.gz 4ed42dd1dc70bea9... 00f7881590b78741...
*-aarch64-linux-gnu.tar.gz 8a7a6ef9cccbae35... bfb79a65f26cdcc6...
*-arm-linux-gnueabihf-debug.tar.gz e40e4858ee8bd4d1... 5ef1ed867e8a0103...
*-arm-linux-gnueabihf.tar.gz 7ddca7cad75ef53b... bb058910cc21d14a...
*-osx-unsigned.dmg 79a2858ea685e8b0... 49da18d5abbaa8b1...
*-osx64.tar.gz e77905a2f3abb599... b6eb2ad69387d82b...
*-riscv64-linux-gnu-debug.tar.gz 4ccc4f940f998b62... cba09b254ccdbdae...
*-riscv64-linux-gnu.tar.gz 561c5ed7ebaf0ea5... cb3309316e40d79a...
*-win64-debug.zip e0b30b67a2217a50... 178ba1536a48534f...
*-win64-setup-unsigned.exe 3e5025cde6a4d3d5... d260c8dd4d5ca281...
*-win64.zip caee7761af12305b... a3834318722e48cd...
*-x86_64-linux-gnu-debug.tar.gz 4036b1cb7c0177b0... f62c68633a6f2808...
*-x86_64-linux-gnu.tar.gz e15879353155c44c... 649ec5092628d6e9...
*.tar.gz e8cbb99f0f9f02a0... 53716e03277db323...
linux-build.log 43933168846d907b... 2b308ff5825cc184...
osx-build.log f0d612ea7fbc1c07... 6590507eec49dd7a...
win-build.log 54a3cd2d3d8f9dd4... c8455754e574fdc3...
bitcoin-core-linux-0.21-res.yml.diff 7ccaf493788ae0c3...
bitcoin-core-osx-0.21-res.yml.diff 8b2233b9f58e6c79...
bitcoin-core-win-0.21-res.yml.diff 69acc146c12feaaa...
linux-build.log.diff 51f5834a25c77243...
osx-build.log.diff 62125a018d822279...
win-build.log.diff b2ef1f9733806e61...

@laanwj
Copy link
Member

laanwj commented Aug 22, 2020

I slightly prefer using Qt's internal libpng if possible. We don't use libpng directly in any way only through Qt, and having to download and build less dependencies is good. But no strong opinion.

@theuni
Copy link
Member

theuni commented Sep 4, 2020

Agree with @laanwj generally, no strong preference. The history here is that we've generally only ever self-built libs needed internally by qt if qt is the only user. zlib, for example, is used by a few things, so we built it ourselves rather than using qt's bundled copy.

That said, if there's good reason for us to build it ourselves, I don't think there's any reason not to. And working around a stale/incompatible bundled libpng seems like decent reason. So, concept ACK.

fanquake added a commit to fanquake/bitcoin that referenced this pull request Sep 15, 2020
This is an alternative to bitcoin#19751 that fixes the build without requiring
splitting out libpng. This patch can be dropped once we are building qt
5.12.0 or later.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Sep 15, 2020
This is an alternative to bitcoin#19751 that fixes the build without requiring
splitting out libpng. This patch can be dropped once we are building qt
5.12.0 or later.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Sep 15, 2020
This is an alternative to bitcoin#19751 that fixes the build without requiring
splitting out libpng. This patch can be dropped once we are building qt
5.12.0 or later.
@fanquake
Copy link
Member

I've posted an alternative to this PR in #19959. I think instead of splitting out libpng, we could just apply the upstream patch.

maflcko pushed a commit to bitcoin-core/gui that referenced this pull request Sep 22, 2020
f07fb5a build: patch qt libpng to fix powerpc build (fanquake)

Pull request description:

  This is an alternative to #19751 that fixes the build without requiring
  splitting out libpng. This patch can be dropped once we are building qt
  5.12.0 or later.

  One of the [concerns posted in #19751](bitcoin/bitcoin#19751 (comment)) was:

  > the one bundled with Qt is at best a slower "bare minimum".

  However for our usage, I don't think the performance of libpng is a concern. If it is, I'd like to see some numbers/justification as to why we should be worried about it.

  This patch should be enough to unblock PowerPC binaries (combined with other changes) for 0.21.0, and for 0.22.0, when we switch to qt 5.15.x in depends, we should be able to drop it.

  Related upstream issue: https://bugreports.qt.io/browse/QTBUG-66388.

ACKs for top commit:
  laanwj:
    ACK f07fb5a
  theuni:
    ACK f07fb5a.
  hebasto:
    ACK f07fb5a, the patch is the same as https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=blobdiff;f=src/3rdparty/libpng/libpng.pro;h=a2f56669b47e09629b7a88a0964091404d6a9b06;hp=577b61d833f7842f3f0d6b1c94a3b3920006695c;hb=dc2aead842f4cdf74f9259d3606c53c8bdae2c6b;hpb=ceeecbae510af6e2d1ebbf865761e4761d404033

Tree-SHA512: 865b843f5049eca80215774274fb7ae0dacccc3dd7f4a2eec93a73057115dcea85e715f919f96441424f9dd902dd97f0a238d96d4074babcee66b30577104009
@fanquake
Copy link
Member

Closing this now that #19959 has been merged. I assume you'll reopen #14066 now?

@fanquake fanquake closed this Sep 22, 2020
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Sep 23, 2020
f07fb5a build: patch qt libpng to fix powerpc build (fanquake)

Pull request description:

  This is an alternative to bitcoin#19751 that fixes the build without requiring
  splitting out libpng. This patch can be dropped once we are building qt
  5.12.0 or later.

  One of the [concerns posted in bitcoin#19751](bitcoin#19751 (comment)) was:

  > the one bundled with Qt is at best a slower "bare minimum".

  However for our usage, I don't think the performance of libpng is a concern. If it is, I'd like to see some numbers/justification as to why we should be worried about it.

  This patch should be enough to unblock PowerPC binaries (combined with other changes) for 0.21.0, and for 0.22.0, when we switch to qt 5.15.x in depends, we should be able to drop it.

  Related upstream issue: https://bugreports.qt.io/browse/QTBUG-66388.

ACKs for top commit:
  laanwj:
    ACK f07fb5a
  theuni:
    ACK f07fb5a.
  hebasto:
    ACK f07fb5a, the patch is the same as https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=blobdiff;f=src/3rdparty/libpng/libpng.pro;h=a2f56669b47e09629b7a88a0964091404d6a9b06;hp=577b61d833f7842f3f0d6b1c94a3b3920006695c;hb=dc2aead842f4cdf74f9259d3606c53c8bdae2c6b;hpb=ceeecbae510af6e2d1ebbf865761e4761d404033

Tree-SHA512: 865b843f5049eca80215774274fb7ae0dacccc3dd7f4a2eec93a73057115dcea85e715f919f96441424f9dd902dd97f0a238d96d4074babcee66b30577104009
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants