Skip to content

Conversation

laanwj
Copy link
Member

@laanwj laanwj commented Nov 20, 2019

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:

  • GCC 4.9.2: GCC_4.8.0
  • (glibc) GLIBC_2_19

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.

Ever since statically linking Qt, we've been linking the C++ library
statically too (-static-libstdc++). Take this into
account in the symbol checker.
@laanwj
Copy link
Member Author

laanwj commented Nov 20, 2019

Could also do Debian 8 (Jessie, oldoldstable):

Which would be:

  • GCC 4.9.2: GCC_4.8.0
  • (glibc) GLIBC_2_19

This would still fix #17525, which requires at least 2.16.

@laanwj laanwj changed the title Bump minimum libc version to 2.23 Bump minimum libc to 2.23 for release binaries Nov 20, 2019
@fanquake
Copy link
Member

Concept ACK

@laanwj laanwj changed the title Bump minimum libc to 2.23 for release binaries Bump minimum libc to 2.19 for release binaries Nov 20, 2019
@laanwj
Copy link
Member Author

laanwj commented Nov 20, 2019

I have backed this down to 2.19 (Debian Stretch/Oldoldstable). I see no reason to push for anything higher. Should be uncontroversial now.

@maflcko
Copy link
Member

maflcko commented Nov 20, 2019

http://mirror.centos.org/centos/7/os/x86_64/Packages/glibc-2.17-292.el7.x86_64.rpm

@laanwj
Copy link
Member Author

laanwj commented Nov 20, 2019

Bah, I'm giving up on this.

@maflcko
Copy link
Member

maflcko commented Nov 20, 2019

Could also add the EOL in comments, so:

@laanwj
Copy link
Member Author

laanwj commented Nov 20, 2019

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.

@fanquake
Copy link
Member

I'll grab this.

maflcko pushed a commit that referenced this pull request Nov 24, 2019
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
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Nov 25, 2019
…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
sidhujag pushed a commit to syscoin-core/syscoin that referenced this pull request Nov 10, 2020
…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
UdjinM6 pushed a commit to UdjinM6/dash that referenced this pull request Aug 30, 2021
…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
@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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

build: Linux gitian builds fail on master
3 participants