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

build, qt: Drop support for i686-linux-android host #23744

Merged
merged 1 commit into from
Dec 15, 2021

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Dec 11, 2021

There are no reasons to keep support for i686-linux-android host, which is actually broken in master (50c502f), and this fact has been unnoticed for months :)

#23675 (comment):

I'm surprised i686-linux-android ABI is still supported. I would love to drop it...

#23675 (comment)

What is i686-linux-android? 32-bit x86 android? is that really a thing?

@hebasto
Copy link
Member Author

hebasto commented Dec 11, 2021

friendly ping @icota

@hebasto
Copy link
Member Author

hebasto commented Dec 11, 2021

Guix builds:

$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
123fd04aa5abf653d50fc11d3689382e645c154ff1fe1f9a89eeb01d69c50871  guix-build-66a20a54a2a8/output/aarch64-linux-gnu/SHA256SUMS.part
d7d365150c8b527fc0544e8a67c0640dc8f34150106567ed43d2e359719ab8f8  guix-build-66a20a54a2a8/output/aarch64-linux-gnu/bitcoin-66a20a54a2a8-aarch64-linux-gnu-debug.tar.gz
40259e7a24557f60a3391dd341b97c44075fbf52dde48c760e6efa10da82416c  guix-build-66a20a54a2a8/output/aarch64-linux-gnu/bitcoin-66a20a54a2a8-aarch64-linux-gnu.tar.gz
ee4e61b5fb74b2ea49b564f69231f016d371779b82c368069ee85361539ebb6f  guix-build-66a20a54a2a8/output/arm-linux-gnueabihf/SHA256SUMS.part
b3bd4c78ca9848ff0e8edf19615b4fd7e4258db003c40d31c4cce74d68d95d4a  guix-build-66a20a54a2a8/output/arm-linux-gnueabihf/bitcoin-66a20a54a2a8-arm-linux-gnueabihf-debug.tar.gz
efddd39b347437ee783421fcf4bf13bd27db1dddb8634d54a10e2cb4d0f988fb  guix-build-66a20a54a2a8/output/arm-linux-gnueabihf/bitcoin-66a20a54a2a8-arm-linux-gnueabihf.tar.gz
bbe3b91bd9c276717fb01fad39d1fd6ba4c1d2c58edbf9b932606f7179cd754b  guix-build-66a20a54a2a8/output/dist-archive/bitcoin-66a20a54a2a8.tar.gz
30205b7af75cbf8cec2590367069c058e4bb92e876f9c137f0090bc5c1cbcab1  guix-build-66a20a54a2a8/output/powerpc64-linux-gnu/SHA256SUMS.part
b177641e844e98df1589c04c4f0edecbdf1f34351dffda16f1814c00b54bc860  guix-build-66a20a54a2a8/output/powerpc64-linux-gnu/bitcoin-66a20a54a2a8-powerpc64-linux-gnu-debug.tar.gz
e90e2d028aacd2c410ba3c2a0cbdb41ae2912744f9bf0fe6efb9fa46b0ddd88e  guix-build-66a20a54a2a8/output/powerpc64-linux-gnu/bitcoin-66a20a54a2a8-powerpc64-linux-gnu.tar.gz
6cf036a4364a8cd223191972261e327e45c851d532835046b6eaa6aeba57bf92  guix-build-66a20a54a2a8/output/powerpc64le-linux-gnu/SHA256SUMS.part
4ea72e89bf1d69c35800965fd4146faecd9c8782ea8f934d560e353eae3c4734  guix-build-66a20a54a2a8/output/powerpc64le-linux-gnu/bitcoin-66a20a54a2a8-powerpc64le-linux-gnu-debug.tar.gz
89904e136f6967e68d98110f7b5c1b30d314c02d9a4d1a965505277e5b60e4b9  guix-build-66a20a54a2a8/output/powerpc64le-linux-gnu/bitcoin-66a20a54a2a8-powerpc64le-linux-gnu.tar.gz
7d6a56f58964c7475e133bda007934cc7644746afbd9a7d302d90a4e26037987  guix-build-66a20a54a2a8/output/riscv64-linux-gnu/SHA256SUMS.part
0e8b1f10f4f38b8ee8b5d8012f400aed2e9101f0ffdf461afcc821db1f067387  guix-build-66a20a54a2a8/output/riscv64-linux-gnu/bitcoin-66a20a54a2a8-riscv64-linux-gnu-debug.tar.gz
32e90ff117de47979293e2e97be4bfbe0cce6a571ea442e0c662d18f7754ed80  guix-build-66a20a54a2a8/output/riscv64-linux-gnu/bitcoin-66a20a54a2a8-riscv64-linux-gnu.tar.gz
17fd56c7f7309bf68e9ef2810301595b1b66ee5fad313841674bc0424012d452  guix-build-66a20a54a2a8/output/x86_64-apple-darwin/SHA256SUMS.part
d6f8262832eded404dc423414fffa457bc4246b4183a3870d3eb5039ed8c7af2  guix-build-66a20a54a2a8/output/x86_64-apple-darwin/bitcoin-66a20a54a2a8-osx-unsigned.dmg
8b1655407c655d2345fa98f22042a940ea8e214d7b0d00923f194927866ef818  guix-build-66a20a54a2a8/output/x86_64-apple-darwin/bitcoin-66a20a54a2a8-osx-unsigned.tar.gz
01a1dc9ca63e985f48a394b6a86c89ec4f20eb1d435e73461f7bfd48a7178658  guix-build-66a20a54a2a8/output/x86_64-apple-darwin/bitcoin-66a20a54a2a8-osx64.tar.gz
1ca533bcf88ec6d06eb595ae9a61c9e75e15ea14cc6e3067b75af8e4fb6f9efc  guix-build-66a20a54a2a8/output/x86_64-linux-gnu/SHA256SUMS.part
7e8ebe9032e2d35562ec3de7bb204f128ff6abbea8e489340330b55b9b8a7c16  guix-build-66a20a54a2a8/output/x86_64-linux-gnu/bitcoin-66a20a54a2a8-x86_64-linux-gnu-debug.tar.gz
2e16b67f9a41af55a914de0727b8f4a91af99e7e5b29425c8b7a43300558c034  guix-build-66a20a54a2a8/output/x86_64-linux-gnu/bitcoin-66a20a54a2a8-x86_64-linux-gnu.tar.gz
01740fd45c45c50bb834af2c09d49b8f9c4eccbd3ee361863a6308a2681a6b27  guix-build-66a20a54a2a8/output/x86_64-w64-mingw32/SHA256SUMS.part
f2fe72b89dbef1e50819aadfededf1b59ceb8fbe4ef6805172017e78327aeb8c  guix-build-66a20a54a2a8/output/x86_64-w64-mingw32/bitcoin-66a20a54a2a8-win-unsigned.tar.gz
f958d8e0c1de207598dd0a8b49ec3fc2fc01d01ccf1d038970aee795623ede14  guix-build-66a20a54a2a8/output/x86_64-w64-mingw32/bitcoin-66a20a54a2a8-win64-debug.zip
ba3a50932e51910215b89df536f290c8514036c82994748da6f68680f44f5ab2  guix-build-66a20a54a2a8/output/x86_64-w64-mingw32/bitcoin-66a20a54a2a8-win64-setup-unsigned.exe
bc6c06ccce0812e3f7bdc4359a57cdaca6d30d0116ec49a8f5fc020dedde40a9  guix-build-66a20a54a2a8/output/x86_64-w64-mingw32/bitcoin-66a20a54a2a8-win64.zip

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 11, 2021

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #22555 (build: Fix make apk for Android w/ non-default SOURCES_PATH in depends by hebasto)

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.

@laanwj
Copy link
Member

laanwj commented Dec 11, 2021

Concept ACK. I don't think this architecture (32-bit x86 android) is worth spending effort on, I expect there to be zero actual devices that use that.
(and if they exist they'll take more than a month to synchronize, like my experiment with an old netbook, so effetively useless for this)

@icota
Copy link
Contributor

icota commented Dec 12, 2021

Concept ACK with a suggestion to drop armv7a-linux-android while we're at it. Such devices were last seen on the market in ~2015 and I don't think they are powerful enough to run Bitcoin.

@hebasto
Copy link
Member Author

hebasto commented Dec 12, 2021

Updated 66a20a5 -> 86afe77 (pr23744.01 -> pr23744.02, diff).

Addressed @icota's comment:

Concept ACK with a suggestion to drop armv7a-linux-android while we're at it. Such devices were last seen on the market in ~2015 and I don't think they are powerful enough to run Bitcoin.

@hebasto hebasto changed the title build, qt: Drop support for i686-linux-android host build, qt: Drop Android 32-bit support Dec 12, 2021
@hebasto
Copy link
Member Author

hebasto commented Dec 12, 2021

Guix builds:

$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
de25a54a182418a736792088ad8cf28e61b58a4257a7924c8992631fd3910b05  guix-build-86afe77d8506/output/aarch64-linux-gnu/SHA256SUMS.part
224ffba6a563f746d751636e28ad4e2a8b39ac8f8b75c02ba4698adb10dcedac  guix-build-86afe77d8506/output/aarch64-linux-gnu/bitcoin-86afe77d8506-aarch64-linux-gnu-debug.tar.gz
e061ae1a7d0e8cf27ff4a503a4154dde1f4516d7dc34ba2f2d48a9b79902518f  guix-build-86afe77d8506/output/aarch64-linux-gnu/bitcoin-86afe77d8506-aarch64-linux-gnu.tar.gz
8e3c4f99b60e0866cbb642babea808f8090ded81f0f71f5af58dfe51f9016134  guix-build-86afe77d8506/output/arm-linux-gnueabihf/SHA256SUMS.part
9bec196a9e5177e06130bad822ff2453145f96a476beb43aa54fc2295addb402  guix-build-86afe77d8506/output/arm-linux-gnueabihf/bitcoin-86afe77d8506-arm-linux-gnueabihf-debug.tar.gz
d4a26436f23cf82c63394f640473087c77f30d797299982c6b05b1ede1c740b2  guix-build-86afe77d8506/output/arm-linux-gnueabihf/bitcoin-86afe77d8506-arm-linux-gnueabihf.tar.gz
e0919be03d2c010db608ccd6a678712111e3b8022c2fe7082fe78cab8569ce33  guix-build-86afe77d8506/output/dist-archive/bitcoin-86afe77d8506.tar.gz
a24a7abfb57e14983af0ed83599bc83a59daa25f6f693f21aa83f079b10ab002  guix-build-86afe77d8506/output/powerpc64-linux-gnu/SHA256SUMS.part
c2411dc83202c2f8ecd572e31697ec1d7929995093701387ae38bc15a1959ada  guix-build-86afe77d8506/output/powerpc64-linux-gnu/bitcoin-86afe77d8506-powerpc64-linux-gnu-debug.tar.gz
4be1c1d987ec13d951f8b032a8e8ec094e4ed8601090ba324da85abdef653da7  guix-build-86afe77d8506/output/powerpc64-linux-gnu/bitcoin-86afe77d8506-powerpc64-linux-gnu.tar.gz
033a042f8a406b680fb902fdc939de8278117e425bf87bb9c87c6088b3b9192a  guix-build-86afe77d8506/output/powerpc64le-linux-gnu/SHA256SUMS.part
99485874abb7e0040db110faa58597abbfa772e43761a3691fce9fb1fe28bb7d  guix-build-86afe77d8506/output/powerpc64le-linux-gnu/bitcoin-86afe77d8506-powerpc64le-linux-gnu-debug.tar.gz
7936c44e3605f55f92de7caf2684f80756591b5e79327483607def3510b3eb34  guix-build-86afe77d8506/output/powerpc64le-linux-gnu/bitcoin-86afe77d8506-powerpc64le-linux-gnu.tar.gz
ebd84b6dc6b370a52155e003c0a23a707e4795394e30d8e4412e1d660570984b  guix-build-86afe77d8506/output/riscv64-linux-gnu/SHA256SUMS.part
04cac003cd9dabd7e86db060055f6181b0230a154854dd3e75f5beb29c05153a  guix-build-86afe77d8506/output/riscv64-linux-gnu/bitcoin-86afe77d8506-riscv64-linux-gnu-debug.tar.gz
13f08c7db72e61e12239c84d54a78f15a5413a4bb080c0d2ede9afcb61643d87  guix-build-86afe77d8506/output/riscv64-linux-gnu/bitcoin-86afe77d8506-riscv64-linux-gnu.tar.gz
2f4c3799f073436756fc05f66b94df54ab0515376da021fc4b530c1adddf7211  guix-build-86afe77d8506/output/x86_64-apple-darwin/SHA256SUMS.part
8b82439b51e32f9271a3902dc79477c804be30502fd4fa7fe1252ba9f888d1a7  guix-build-86afe77d8506/output/x86_64-apple-darwin/bitcoin-86afe77d8506-osx-unsigned.dmg
bfaaa7e59f80ebda349a6535b9a34e4c4ddff53c78fcfa3271be5feabfed21b1  guix-build-86afe77d8506/output/x86_64-apple-darwin/bitcoin-86afe77d8506-osx-unsigned.tar.gz
ad362bb63eeb2ad81857368ad12e068e53e79e0d19acae75a19a13a11358c758  guix-build-86afe77d8506/output/x86_64-apple-darwin/bitcoin-86afe77d8506-osx64.tar.gz
9da8405fa8ce08b76db8db41341d230f5abec538bca896b8e9148d60c9eaf044  guix-build-86afe77d8506/output/x86_64-linux-gnu/SHA256SUMS.part
e716cc23c67b218fad24d26780dd685afb1134a365957336ad71af2bc54779eb  guix-build-86afe77d8506/output/x86_64-linux-gnu/bitcoin-86afe77d8506-x86_64-linux-gnu-debug.tar.gz
d5970da7ccca9e0b89e6e9a725131129d71aa0238a82a6bbdfb54c4db01d9c6e  guix-build-86afe77d8506/output/x86_64-linux-gnu/bitcoin-86afe77d8506-x86_64-linux-gnu.tar.gz
7c6d79ea2de7d0eff3d198d95516f099ee77f6ee6b61e9d49e68d66d1272e32a  guix-build-86afe77d8506/output/x86_64-w64-mingw32/SHA256SUMS.part
c0a14047ab5af902a92d6895805c2b2274ffac2c7c1f72b1f3ec99032bf834cd  guix-build-86afe77d8506/output/x86_64-w64-mingw32/bitcoin-86afe77d8506-win-unsigned.tar.gz
cc3ac050ceab0bebd42b88e51d5cfee4da031683d2fe0ea330ce15369377a550  guix-build-86afe77d8506/output/x86_64-w64-mingw32/bitcoin-86afe77d8506-win64-debug.zip
6332abb60836c37173d69a0367b1b3be1e92a23704a76a38394a0f60f4558ef4  guix-build-86afe77d8506/output/x86_64-w64-mingw32/bitcoin-86afe77d8506-win64-setup-unsigned.exe
89a116b0aeb9adffe3c1750a501f1f52fb37a3b89a2802727102fbbacd9a6391  guix-build-86afe77d8506/output/x86_64-w64-mingw32/bitcoin-86afe77d8506-win64.zip

@luke-jr
Copy link
Member

luke-jr commented Dec 12, 2021

Concept ACK with a suggestion to drop armv7a-linux-android while we're at it. Such devices were last seen on the market in ~2015 and I don't think they are powerful enough to run Bitcoin.

How can we verify this? IIRC, aren't some modern devices with AArch64-capable chips still running a 32-bit ARM OS anyway?

@icota
Copy link
Contributor

icota commented Dec 13, 2021

How can we verify this? IIRC, aren't some modern devices with AArch64-capable chips still running a 32-bit ARM OS anyway?

You seem to be right. To protest Pokemon Go dropping 32-bit someone compiled a list of phones sold as recently as 2019 running 32-bit Android (even though most 64-bit capable).

Having said that,

  • 32-bit is definitely deprecated moving forward
  • we still haven't officially released the Android version
  • our capacity to maintain Android builds is kind of thin

So I would still recommend dropping armv7a-linux-android

@jarolrod
Copy link
Member

I don't know how i feel about this

Arm has recently announced that all of there cpu's will be 64 bit starting in 2023. In there announcement, they state that 2% of mobile devices around the world are 32 bit. Going off that, it seems like this would be ok to do. But, some cheaper android phones have a 64 bit CPU yet run a 32 bit android OS. An example of such device is the Xiaomi Redmi 8a which was released in 2019. Additionally, these 32 bit androids are most likely the cheapest devices in poorer markets.

It seems to me that it's not yet time to cut out 32 bit android support.

@hebasto
Copy link
Member Author

hebasto commented Dec 13, 2021

We still support some archs that are not in our releases, e.g., i686-pc-linux-gnu, riscv32-linux-gnu, s390x-linux-gnu.

Assuming that aarch64-linux-android goes to the releases eventually, it's no harm to keep support for armv7a-linux-android. And it have no extra cost for its code for now.

Dropping of armv7a-linux-android support could come naturally :)

Also https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md, though not sure if our code has been affected.

@laanwj
Copy link
Member

laanwj commented Dec 13, 2021

~0 about dropping 32 bit for Android. In general, ARM and RISC-V 32 bit are still feasible architectures so please don't drop support for building for them project-wide (FWIW it's definitely possible to run a node on 32-bit ARM). That said, maybe not for Android.

@luke-jr
Copy link
Member

luke-jr commented Dec 13, 2021

We can always drop 32-bit ARM Android support later. But from that list, right now it sounds like it's still common.

@DrahtBot
Copy link
Contributor

Guix builds

File commit ac92ab6
(master)
commit 269f39e
(master and this pull)
SHA256SUMS.part ad612c55e8552e5f... 3940f9df5ed82d4d...
*-aarch64-linux-gnu-debug.tar.gz dfb9f712e593e855... 8e305aa062302e46...
*-aarch64-linux-gnu.tar.gz 81f327b7dccdf9f9... 3637d7a6873503d9...
*-arm-linux-gnueabihf-debug.tar.gz 5178fa7d71f4cd9c... 221a65a94fb31934...
*-arm-linux-gnueabihf.tar.gz 767752a777572495... 135f6a5ea2904449...
*-osx-unsigned.dmg c56ddd5318f66749... 9ab99571fa7d874a...
*-osx-unsigned.tar.gz 18773e80b233ede4... e9581e2d8fcadee0...
*-osx64.tar.gz 5cd526b9b35ab65f... 623d952c4ac54853...
*-powerpc64-linux-gnu-debug.tar.gz 1c7a141264ccff9f... 5cbd5f0859d6ea13...
*-powerpc64-linux-gnu.tar.gz 8f89a1546bcc563e... 856a07a81af64cc7...
*-powerpc64le-linux-gnu-debug.tar.gz 546d57375ca436ca... a7455371fd848023...
*-powerpc64le-linux-gnu.tar.gz f2d44eab7a7facaf... b1b123ab8ba9093b...
*-riscv64-linux-gnu-debug.tar.gz 798b97d2b288d656... c2872cad90dc72b7...
*-riscv64-linux-gnu.tar.gz 98875a06de3c1084... 95cb8700832b7136...
*-win-unsigned.tar.gz 47c022024636527f... 78cde3705f464286...
*-win64-debug.zip 8444e4a1f462c9e7... 2e74bc0776a14409...
*-win64-setup-unsigned.exe e34caaf8b5be1a1a... bb1891d75cb4dd27...
*-win64.zip dfade3b4d3688271... 06c74b1f602e340a...
*-x86_64-linux-gnu-debug.tar.gz 462ff2a6d604fcf7... 3c998633a4423709...
*-x86_64-linux-gnu.tar.gz 11d7ef269ae360d7... 919d4d58cad8f927...
*.tar.gz 779113ea1d92a4eb... b76b333a990dcb0c...
guix_build.log 00942c2f5f0e05b1... cee123bd56469237...
guix_build.log.diff bd8b611ab7f0ac05...

@icota
Copy link
Contributor

icota commented Dec 13, 2021

Having read the comments and having spoken to @hebasto today I agree we keep armv7a-linux-android for now. Perhaps we can use a special occasion like the fourth halving to drop it in style.

@hebasto hebasto changed the title build, qt: Drop Android 32-bit support build, qt: Drop support for i686-linux-android host Dec 14, 2021
@hebasto
Copy link
Member Author

hebasto commented Dec 14, 2021

It's nice we have a consensus about keeping support of armv7a-linux-android.

So reverted back to 66a20a5. The OP and the title has been also reverted back.

Copy link
Contributor

@prusnak prusnak left a comment

Choose a reason for hiding this comment

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

utACK 66a20a5

@laanwj laanwj merged commit fee16b1 into bitcoin:master Dec 15, 2021
@hebasto hebasto deleted the 211211-android32 branch December 16, 2021 07:42
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 16, 2021
66a20a5 build, qt: Drop support for `i686-linux-android` host (Hennadii Stepanov)

Pull request description:

  There are no reasons to keep support for `i686-linux-android` host, which is actually broken in master (50c502f), and this fact has been unnoticed for months :)

  bitcoin#23675 (comment):
  > I'm surprised `i686-linux-android` ABI is still supported. I would love to drop it...

  bitcoin#23675 (comment)
  > What is `i686-linux-android`? 32-bit x86 android? is that really a thing?

ACKs for top commit:
  prusnak:
    utACK 66a20a5

Tree-SHA512: 211f794de2fc569f0ade2a4da805b8bfd4ce2ab0930c5d427acc4f5d015fcdc4911f02fc64f6401197f7641aed79944a9594be80c817547be3269cdd721cf79b
hebasto added a commit to bitcoin-core/gui that referenced this pull request Jun 5, 2022
d1b7bcb qt: Drop no longer supported Android architecture (Hennadii Stepanov)

Pull request description:

  The `i686-linux-android` arch support has been dropped since bitcoin/bitcoin#23744.

ACKs for top commit:
  katesalazar:
    ACK d1b7bcb
  icota:
    utACK d1b7bcb
  prusnak:
    Approach ACK d1b7bcb

Tree-SHA512: 13689ec8c63c92b9a52a3c25edc35536b8e51ff583f57c45b168515f928d020d6bb85d03db9efd8d5efd57b944dfd313a89f5ff8a52f99982ccc8d9671f6e7a9
@bitcoin bitcoin locked and limited conversation to collaborators Dec 29, 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.

8 participants