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

RFC: bump GCC requirement to 4.8 #11732

Closed
laanwj opened this issue Nov 20, 2017 · 8 comments
Closed

RFC: bump GCC requirement to 4.8 #11732

laanwj opened this issue Nov 20, 2017 · 8 comments
Milestone

Comments

@laanwj
Copy link
Member

laanwj commented Nov 20, 2017

Inspired by discussion here: #11722 (comment) . This would allow using more C++11 features such as thread local data (https://gcc.gnu.org/gcc-4.7/cxx0x_status.html versus https://gcc.gnu.org/gcc-4.8/cxx0x_status.html). FWIW gcc 4.7.0 was released in March 22, 2012, last bugfix release was 4.7.4 in June 12, 2014.

Also FWIW I tried to build bitcoin on g++ 4.7 a while ago and it was a pain; for example the AX_CXX_COMPILE_STDCXX fails because the __cplusplus macro is not set correctly, and that's only the beginning. As it's already effectively broken and no one else seems to even notice it, I wouldn't mind bumping the requirement to g++ 4.8 wholesale. But I'm not sure that discussion belongs here.

Is anyone successfully building on g++ 4.7?

@theuni what's your opinion?

@laanwj laanwj changed the title Bump GCC requirement to 4.8 RFC: bump GCC requirement to 4.8 Nov 20, 2017
@fanquake
Copy link
Member

fanquake commented Nov 21, 2017

Release

GCC 4.8 was released March 22 2013, with it's most recent bug-fix release (4.8.5) on June 23 2015.
The GCC 4.8.x branch is no longer maintained. More info here: https://gcc.gnu.org/gcc-4.8/

C++11 Support

Status of C++11 support in GCC 4.8: https://gcc.gnu.org/gcc-4.8/cxx0x_status.html.
GCC 4.8.1 was the first feature-complete implementation of the 2011 C++ standard, previously known as C++0x.

From what I can find the last time we committed a fix specifically for GCC 4.7 was in #1126.
The last fix committed specifically for GCC 4.8 was in #3895.
There have been various "fixes" for wShadow warnings etc tested against GCC 4.8.x versions since then.

One of the downsides listed for "Consider building with -flto" in #10616 is "Before GCC 4.8: double size object files". A bump to GCC 4.8 would remove that issue.

@luke-jr
Copy link
Member

luke-jr commented Nov 21, 2017

  • Debian: 6.3.0 (stable)
  • Fedora: 7.2.1
  • Gentoo: 5.4.0 (stable)
  • RedHat/CentOS: 4.8.5
  • Ubuntu: 4.8.2 (trusty)

So looks good to me.

@maflcko
Copy link
Member

maflcko commented Nov 21, 2017

Since apparently no one uses gcc4.7 in daily (or regular) builds, I don't see a way how we could support that version. Even if we managed to get master compile with gcc4.7, it would likely end up breaking shortly after.

@maflcko maflcko added this to the 0.16.0 milestone Nov 21, 2017
@sipa
Copy link
Member

sipa commented Nov 21, 2017

ACK on upping the requirement to GCC 4.8.

@meshcollider
Copy link
Contributor

ACK on the bump too

@maflcko
Copy link
Member

maflcko commented Nov 22, 2017

Anything left to do here? Can someone declare that it was bumped and close this issue?

@fanquake
Copy link
Member

@MarcoFalke We should at least make it explicit in the docs. I'll open a PR.

@laanwj
Copy link
Member Author

laanwj commented Nov 23, 2017

Also the build system needs to give a clear error message if the compiler version is known not supported. Currently it fails non-intuitively on AX_CXX_COMPILE_STDCXX w/ 4.7.
(bleh, that seems to be more difficult that you'd expect)

laanwj added a commit that referenced this issue Nov 23, 2017
fae98f6 [Docs] Bump minimum required version of GCC to 4.8 (fanquake)

Pull request description:

  Make it explicit that the minimum required version of GCC is 4.8. Discussion in #11732.

Tree-SHA512: 85ade5a4a63ea1cb6b5e20756bc96f25518c394e00a8d3ed5b9c2927b55ea3155645ca74bb1c7e7eda69d7e42d440a42bde839f281e57fc3e20390b2a19885d6
@laanwj laanwj closed this as completed Nov 23, 2017
@bitcoin bitcoin deleted a comment from Arezohayeman Mar 26, 2018
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants