Closed Bug 1322792 Opened 8 years ago Closed 8 years ago

require GCC 4.9.x to build on Linux

Categories

(Firefox Build System :: General, defect)

All
Linux
defect
Not set
normal

Tracking

(firefox53 fixed)

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: froydnj, Assigned: froydnj)

References

Details

Attachments

(1 file)

Requiring GCC 4.9 would enable us to use several useful C++14 features that are also supported by MSVC and clang. glandium says that RHEL 7 (I think?) only has GCC 4.8 and every other interesting Linux distribution has GCC 4.9. Martin says that so long as Red Hat has plenty of advance notice to prepare GCC packages for the next ESR, requiring GCC 4.9 should not be a problem. The Android NDK already comes with GCC 4.9, so we have nothing to worry about there.
We have a 4.9.3 package in tooltool at the moment, should we update to 4.9.4 while we're at it? Pretty decent-sized list of fixes in it: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.9.4 Also, we let RHEL dictate our minimum compiler version (and therefore which C++ features we support)?
(In reply to Ryan VanderMeulen [:RyanVM] from comment #1) > We have a 4.9.3 package in tooltool at the moment, should we update to 4.9.4 > while we're at it? Pretty decent-sized list of fixes in it: > https://gcc.gnu.org/bugzilla/buglist. > cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.9.4 > > Also, we let RHEL dictate our minimum compiler version (and therefore which > C++ features we support)? My understanding is that we try to work with Linux distros, who typically are on ESR cycles (?). Some Linux distributions (e.g. Debian currently) have the versions of GCC we need in their current stable release. Other distributions don't, but may have a gcc-for-firefox package (Martin said this is what RHEL will do/already does, and I think I saw/heard references to SuSE doing the same thing?), or need to build such a package. I think we try to take into account difficulties in building such packages and/or requiring them to upgrade: GCC 5/6 is probably not an option right now due to ABI breakage, for instance. GCC 4.9, however, is not difficult, and given that ESR 52 will still be on 4.8, folks have plenty of time to prepare for ESR 59 and 4.9. I don't know all the particulars, and my impression might be wildly wrong. glandium probably has a clearer picture than I do, ni? him for more information.
Flags: needinfo?(mh+mozilla)
Depends on: gcc-4.9
Comment 2 is pretty much spot on.
Flags: needinfo?(mh+mozilla)
Yes, yes, I know the Compiler.h change is superfluous; we can remove it in a different bug.
Attachment #8820768 - Flags: review?(mh+mozilla)
Comment on attachment 8820768 [details] [diff] [review] require GCC 4.9 to build Review of attachment 8820768 [details] [diff] [review]: ----------------------------------------------------------------- ::: python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py @@ -312,5 @@ > '/usr/bin/clang++-3.6': CLANGXX_3_6 + CLANG_PLATFORM_X86_64_LINUX, > '/usr/bin/clang-3.3': CLANG_3_3 + CLANG_PLATFORM_X86_64_LINUX, > '/usr/bin/clang++-3.3': CLANGXX_3_3 + CLANG_PLATFORM_X86_64_LINUX, > } > - GCC_4_7_RESULT = ('Only GCC 4.8 or newer is supported ' May want to bump the version to 4.8 here.
Attachment #8820768 - Flags: review?(mh+mozilla) → review+
Blocks: C++14
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: