-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Bump minimum libc to 2.19 for release binaries #17531
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
Ever since statically linking Qt, we've been linking the C++ library statically too (-static-libstdc++). Take this into account in the symbol checker.
Could also do Debian 8 (Jessie, oldoldstable):
Which would be:
This would still fix #17525, which requires at least 2.16. |
af71831
to
c730242
Compare
Concept ACK |
Debian 8 (Jessie) has: - g++ version 4.9.2 (https://packages.debian.org/search?suite=jessie&arch=any&searchon=names&keywords=g%2B%2B) - libc version 2.19 (https://packages.debian.org/search?suite=jessie&arch=any&searchon=names&keywords=libc6) Ubuntu 16.04.4 (Xenial) has: - g++ version 5.3.1 (https://packages.ubuntu.com/search?keywords=g%2B%2B&searchon=names&suite=xenial§ion=all) - libc version 2.23.0 (https://packages.ubuntu.com/search?keywords=libc6&searchon=names&suite=xenial§ion=all) Taking the minimum of these as our target. According to GNU ABI document (http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: - GCC 4.9.2: GCC_4.8.0 - (glibc) GLIBC_2_19
c730242
to
ad4dcb0
Compare
I have backed this down to 2.19 (Debian Stretch/Oldoldstable). I see no reason to push for anything higher. Should be uncontroversial now. |
Bah, I'm giving up on this. |
Could also add the EOL in comments, so:
|
Feel free to pick this up, I don't feel like bothering with the eternal pit of misery that is distributing binaries for Linux anymore. |
I'll grab this. |
8f15a31 doc: add glibc 2.17 requirement to release-notes (fanquake) 16a7be1 build: Bump minimum versions in symbol checker (Wladimir J. van der Laan) b77d5ad build: Disallow dynamic linking against c++ library (Wladimir J. van der Laan) Pull request description: Closes: #17525. Taken over from #17531. Debian 8 (Jessie) has: - g++ version 4.9.2 - libc version 2.19 CentOS 7 has: - g++ version 4.8.5 - libc version 2.17 Ubuntu 16.04.4 (Xenial, oldest supported Ubuntu) has: - g++ version 5.3.1 - libc version 2.23.0 Taking the minimum of these as our target. According to [GNU ABI document](https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: - GCC 4.8.5: GCC_4.8.0 - (glibc) GLIBC_2_17 This also contains a (long needed) commit to disallow dynamic linking to stdc++, as our releases statically link against that. ACKs for top commit: laanwj: re-ACK 8f15a31 Tree-SHA512: a3cc92aa1c5de253b1531f4b854d6f5f4a15d614ba6290d9db293542a96994b55c4a8e33e03b601bae16eb65529630b4f94b48b010e0b66b7dc9ff0acf945107
…aries 8f15a31 doc: add glibc 2.17 requirement to release-notes (fanquake) 16a7be1 build: Bump minimum versions in symbol checker (Wladimir J. van der Laan) b77d5ad build: Disallow dynamic linking against c++ library (Wladimir J. van der Laan) Pull request description: Closes: bitcoin#17525. Taken over from bitcoin#17531. Debian 8 (Jessie) has: - g++ version 4.9.2 - libc version 2.19 CentOS 7 has: - g++ version 4.8.5 - libc version 2.17 Ubuntu 16.04.4 (Xenial, oldest supported Ubuntu) has: - g++ version 5.3.1 - libc version 2.23.0 Taking the minimum of these as our target. According to [GNU ABI document](https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: - GCC 4.8.5: GCC_4.8.0 - (glibc) GLIBC_2_17 This also contains a (long needed) commit to disallow dynamic linking to stdc++, as our releases statically link against that. ACKs for top commit: laanwj: re-ACK 8f15a31 Tree-SHA512: a3cc92aa1c5de253b1531f4b854d6f5f4a15d614ba6290d9db293542a96994b55c4a8e33e03b601bae16eb65529630b4f94b48b010e0b66b7dc9ff0acf945107
…aries 8f15a31 doc: add glibc 2.17 requirement to release-notes (fanquake) 16a7be1 build: Bump minimum versions in symbol checker (Wladimir J. van der Laan) b77d5ad build: Disallow dynamic linking against c++ library (Wladimir J. van der Laan) Pull request description: Closes: bitcoin#17525. Taken over from bitcoin#17531. Debian 8 (Jessie) has: - g++ version 4.9.2 - libc version 2.19 CentOS 7 has: - g++ version 4.8.5 - libc version 2.17 Ubuntu 16.04.4 (Xenial, oldest supported Ubuntu) has: - g++ version 5.3.1 - libc version 2.23.0 Taking the minimum of these as our target. According to [GNU ABI document](https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: - GCC 4.8.5: GCC_4.8.0 - (glibc) GLIBC_2_17 This also contains a (long needed) commit to disallow dynamic linking to stdc++, as our releases statically link against that. ACKs for top commit: laanwj: re-ACK 8f15a31 Tree-SHA512: a3cc92aa1c5de253b1531f4b854d6f5f4a15d614ba6290d9db293542a96994b55c4a8e33e03b601bae16eb65529630b4f94b48b010e0b66b7dc9ff0acf945107
…aries 8f15a31 doc: add glibc 2.17 requirement to release-notes (fanquake) 16a7be1 build: Bump minimum versions in symbol checker (Wladimir J. van der Laan) b77d5ad build: Disallow dynamic linking against c++ library (Wladimir J. van der Laan) Pull request description: Closes: bitcoin#17525. Taken over from bitcoin#17531. Debian 8 (Jessie) has: - g++ version 4.9.2 - libc version 2.19 CentOS 7 has: - g++ version 4.8.5 - libc version 2.17 Ubuntu 16.04.4 (Xenial, oldest supported Ubuntu) has: - g++ version 5.3.1 - libc version 2.23.0 Taking the minimum of these as our target. According to [GNU ABI document](https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to: - GCC 4.8.5: GCC_4.8.0 - (glibc) GLIBC_2_17 This also contains a (long needed) commit to disallow dynamic linking to stdc++, as our releases statically link against that. ACKs for top commit: laanwj: re-ACK 8f15a31 Tree-SHA512: a3cc92aa1c5de253b1531f4b854d6f5f4a15d614ba6290d9db293542a96994b55c4a8e33e03b601bae16eb65529630b4f94b48b010e0b66b7dc9ff0acf945107
Fixes #17525.
Debian 8 (Jessie, oldoldstable) has:
Debian 9 (Stretch, Oldstable) has:
Ubuntu 16.04.4 (Xenial, oldest supported Ubuntu) has:
Taking the minimum of these as our target.
According to GNU ABI document (http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html) this corresponds to:
This also contains a (long needed) commit to disallow dynamic linking to stdc++, as our releases statically link against that.
It might be possible to remove some fallbacks from
src/compat/glibc_compat.cpp
, too. But I'll wait for the version decision first.