Closed
Bug 501436
Opened 15 years ago
Closed 15 years ago
move Gecko 1.9.3 tinderboxes and production builds to Mac OS X 10.5, 10.5 SDK, gcc-4.2
Categories
(Release Engineering :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jaas, Assigned: jaas)
References
Details
(Whiteboard: [fixed in mozilla1.9.3a1])
Attachments
(2 files)
3.71 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
1.07 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
Gecko 1.9.2 should not support Mac OS X 10.4. We should move 1.9.2 builds and tinderboxen to Mac OS X 10.5 using the 10.5 SDK and gcc-4.2.
Flags: blocking1.9.2?
Releng - of course, please get proper approval from drivers before doing this.
Comment 2•15 years ago
|
||
Do we want to use gcc-4.2 or newer on linux as well?
Comment 3•15 years ago
|
||
We should only do that if we decide that we no longer support compiling with lower gcc versions. In particular, we have some code around (not checked in yet) that will compile with gcc 4.2 but not 4.0...
Comment 5•15 years ago
|
||
Yes, indeed.
Comment 6•15 years ago
|
||
(In reply to comment #0) > Gecko 1.9.2 should not support Mac OS X 10.4. Has this been agreed upon yet? I know there was a large thread about it, but I do not know what the conclusion was. > We should move 1.9.2 builds and > tinderboxen to Mac OS X 10.5 using the 10.5 SDK and gcc-4.2. We're already running OS X 10.5.2 with Xcode 3.1. Looks like this already gives us the 10.5 SDK and gcc-4.2 - we'll just have to switch the paths, or something. > Releng - of course, please get proper approval from drivers before doing this. I think the onus is on you to get agreement on the general plan. We'll work out the details such as when we make the switch.
Comment 7•15 years ago
|
||
(In reply to comment #2) > Do we want to use gcc-4.2 or newer on linux as well? Regardless of the answer to this question let's keep this bug focused on OS X. If we do want to push Linux forward let's track that in a different bug.
Comment 8•15 years ago
|
||
Hm. I worry that this bug is making an assumption about the date on which we plan on shipping products off of mozilla-1.9.2. As context changes around our upcoming product deliveries (Fennec, f.e.) I'm not sure that the tacit assumption that 1.9.2 = Firefox 3.next is actually true. Josh: is the pressure here time based, or just making sure that the Tinderboxes are matching the primary user platform that we're supporting? What's the breakdown of 10.4/10.5 users we have on 3.5?
This move only affects a Mac OS X release - not very relevant for a Fennec release. I was originally operating on the assumption that we would not ship based on Gecko 1.9.2 until at least January or February of 2010, 4-5 months after 10.6 ships. I don't know the current OS breakdown for 3.5 because the stats system hasn't been updated for 3.5 afaict.
Comment 10•15 years ago
|
||
(In reply to comment #0) > Gecko 1.9.2 should not support Mac OS X 10.4. We should move 1.9.2 builds and > tinderboxen to Mac OS X 10.5 using the 10.5 SDK and gcc-4.2. Moving builds to the 10.5 SDK need not mean we don't run on 10.4 any more; as long as it is reasonably possible, we should try to maintain compatibility by testing for 10.5-specific features at runtime before using them. There's (at least) one known issue with running 10.5-created builds on 10.4, see bug 423691, but it looks like we have a possible workaround for that. So I'd like to see us switch SDKs, and relegate 10.4 to some kind of "less-supported" status, but keep some 10.4 tinderboxen so that we can tell when we do break compatibility - and can then assess the cost/benefit of fixing the breakage, not doing the new feature, or finally cutting off 10.4 users.
Assignee | ||
Comment 11•15 years ago
|
||
This bug is not about switching to the 10.5 SDK and staying on gcc-4.0. This is about making changes that would not allow us to run on 10.4, including a compiler upgrade.
Comment 12•15 years ago
|
||
Why does upgrading the compiler to gcc 4.2 prevent us running on 10.4? Surely that's an issue of what APIs we use, not which compiler.
Assignee | ||
Comment 13•15 years ago
|
||
Code produced by gcc-4.2 will not run on Mac OS X 10.4, it specifically says that in Apple gcc-4.2 documentation. I don't remember exactly why.
Comment 14•15 years ago
|
||
Hmmm. A bit of searching reveals that yes, this is not supported, though apparently there's no fundamental reason it can't be done; they just don't ship all the right support files. There's a workaround involving the SDK versions that shipped with gcc 4.2 Developer Preview 1, but we don't want to go there... In that case, I think we should separate the issue of switching SDK versions from the issue of moving to gcc 4.2. That would let us consider a more incremental, perhaps less disruptive way forward. Are there compelling reasons we need the newer gcc at this point?
Assignee | ||
Comment 15•15 years ago
|
||
I agree that they should be separate issues, going to 4.2 and dropping 10.4 support is what this particular bug is about. The reason to go to gcc 4.2 is speed, it gives us significant performance improvements in my tests. I don't want to go over gcc 4.2 test results in this bug though, this doesn't seem like the place for that. I don't want to rehash debates that happened on mozilla.dev.planning here. There is a lot of info about gcc-4.2 and other reasons for this particular move in those discussions.
Comment 16•15 years ago
|
||
Yes, I've read the debates on dev.planning. Note, though, that those discussions started from an assumption that 1.9.2 would appear in Q2 2010; but now it sounds like Gecko 1.9.2 and Firefox 3.6 will be released this fall. That might make a difference to the acceptability of cutting off 10.4 compatibility at this point. In view of this, I've filed bug 504179, requesting a move to the 10.5 SDK even if we don't do the 10.4-breaking compiler change yet.
Comment 17•15 years ago
|
||
Moving this into Future until we have a concrete time when this should be done.
Component: Release Engineering → Release Engineering: Future
Assignee | ||
Comment 18•15 years ago
|
||
I have been working on our 64-bit port and 10.4 support is a real pain. I really think we need to do make this switch in Gecko 1.9.3. I updated the summary moving our target to 1.9.3.
Summary: move Gecko 1.9.2 tinderboxes and production builds to Mac OS X 10.5, 10.5 SDK, gcc-4.2 → move Gecko 1.9.3 tinderboxes and production builds to Mac OS X 10.5, 10.5 SDK, gcc-4.2
Assignee | ||
Comment 19•15 years ago
|
||
This work is approved to go ahead now. This does not reflect a final decision about 10.4 support in Gecko 1.9.3 but we are ready to take this step. On a Mac OS X 10.5 tinderbox this means adding the following to our mozconfig: ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk ac_add_options --enable-macos-target=10.5 We should patch the build system to use gcc-4.2 when the macos-target is >= 10.5. We'll also need a patch for breakpad, it will not build under the 10.5 SDK right now (bug 510920). There is a fix in the upstream Google code. We may need to temporarily disable some tests and resolve them as quickly as possible. IIRC there are some failures due to Core Text, which would be enabled by this.
Comment 20•15 years ago
|
||
(In reply to comment #19) > IIRC there are some failures due to Core Text, which would be enabled > by this. Core Text won't be enabled (on 32-bit builds) unless you also add ac_add_options --enable-coretext to the mozconfig.
Comment 21•15 years ago
|
||
(In reply to comment #19) > On a Mac OS X 10.5 tinderbox this means adding the following to our mozconfig: > ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk > ac_add_options --enable-macos-target=10.5 This is a pretty small change. Please file dep bugs for everything below and we'll move ahead when they're resolved. > We should patch the build system to use gcc-4.2 when the macos-target is >= > 10.5. > > We'll also need a patch for breakpad, it will not build under the 10.5 SDK > right now (bug 510920). There is a fix in the upstream Google code.
Comment 22•15 years ago
|
||
(In reply to comment #19) > This work is approved to go ahead now. This does not reflect a final decision > about 10.4 support in Gecko 1.9.3 but we are ready to take this step. > > On a Mac OS X 10.5 tinderbox this means adding the following to our mozconfig: > ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk Currently our nightly builds use the universal mozconfig, which specifies the SDK here: http://mxr.mozilla.org/mozilla-central/source/build/macosx/universal/mozconfig#49 So you can just fix that on trunk. Also the GCC version is set there, so you should be able to just flip that as well. > ac_add_options --enable-macos-target=10.5 I think if you're going to drop 10.4 support, you should just change the default value for this in configure: http://mxr.mozilla.org/mozilla-central/source/configure.in#906 So the only changes here for RelEng should be changing the SDK/compiler on non-universal builds. (unittests, debug)
Assignee | ||
Comment 23•15 years ago
|
||
When the trunk tboxes are ready this patch should switch everything to the 10.5 SDK and gcc-4.2. Non-universal builds will still use the system default compiler but we can take care of that later with bug 513353.
Assignee: nobody → joshmoz
Attachment #398703 -
Flags: review?(ted.mielczarek)
Updated•15 years ago
|
Attachment #398703 -
Flags: review?(ted.mielczarek) → review+
Comment 24•15 years ago
|
||
Comment on attachment 398703 [details] [diff] [review] fix v1.0 Should be ok to land this now, right? Still need another patch to change trunk mozconfigs to the 10.5 SDK: http://hg.mozilla.org/build/buildbot-configs/file/c7d7c3824b84/mozilla2/macosx/mozilla-central/debug/mozconfig (for example) bug 513353 will take care of switching everything else to gcc 4.2.
Comment 25•15 years ago
|
||
Comment on attachment 398703 [details] [diff] [review] fix v1.0 case "${target_cpu}" in x86_64) export MACOSX_DEPLOYMENT_TARGET=10.5 ;; *) - export MACOSX_DEPLOYMENT_TARGET=10.4 + export MACOSX_DEPLOYMENT_TARGET=10.5 ;; Oh, missed that on the first pass. Just ditch that case statement for now, since we want 10.5 everywhere.
Comment 26•15 years ago
|
||
Just thought of something: Since tracemonkey and places will end up getting this change via a merge, is it going to affect their ability to safely merge over to mozilla-1.9.2? (Are we even changing the compiler on those repos? I can't tell)
Comment 27•15 years ago
|
||
I don't think so, they cherry-pick patches for branches anyway. I doubt it will add any more pain to that process than already exists.
Assignee | ||
Comment 28•15 years ago
|
||
pushed to mozilla-central http://hg.mozilla.org/mozilla-central/rev/594dd7f280fa http://hg.mozilla.org/mozilla-central/rev/a4e2df0a6af5
Assignee | ||
Comment 29•15 years ago
|
||
breakpad PPC bustage fix http://hg.mozilla.org/mozilla-central/rev/9c3a70ea7acf
Assignee | ||
Comment 30•15 years ago
|
||
buildbot mozconfig changes http://hg.mozilla.org/build/buildbot-configs/rev/56255997c17c
Assignee | ||
Comment 31•15 years ago
|
||
Filed bug 516799 on failing symlink unit test and disabled the test for now. I'm working on a fix now.
Comment 32•15 years ago
|
||
(In reply to comment #28) > pushed to mozilla-central > > http://hg.mozilla.org/mozilla-central/rev/594dd7f280fa This check-in causes my local builds to break with the following error: checking for correct temporary object destruction order... no configure: error: Your compiler does not follow the C++ specification for temporary object destruction order. *** Fix above errors and then restart with "make -f client.mk build" I'm using XCode 3.1.2 on 10.5. Has this check-in changed the minimum version of XCode that we require or something? https://developer.mozilla.org/En/Mac_OS_X_Build_Prerequisites doesn't mention that if it did.
Comment 33•15 years ago
|
||
Ah, it seems to be down to the following line in my .mozconfig: ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk Changing that to: ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk Fixes things. I've updated https://developer.mozilla.org/En/Mac_OS_X_Build_Prerequisites , but it would be good for someone else to check my changes there.
Comment 34•15 years ago
|
||
could this have caused a Ts regression? it's in the range for bug 517915.
Assignee | ||
Comment 35•15 years ago
|
||
This caused a bit of a Ts regression but it was likely due to bug 517549, which this caused because it turned on expensive 10.5+ TIS calls by accident. That has been fixed and now Ts is much lower than it was before this bug. This would not have caused a Ts regressions on other platforms, as discussed in the perf regression bug.
Comment 36•15 years ago
|
||
(In reply to comment #33) > Ah, it seems to be down to the following line in my .mozconfig: > > ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk > > Changing that to: > > ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk > > Fixes things. I've updated > https://developer.mozilla.org/En/Mac_OS_X_Build_Prerequisites , but it would be > good for someone else to check my changes there. I got hammered by this change. I'm stuck at a 10.4 capable machine for now and had been building my own using 10.4 with Xcode 2.5 until this patch landed about 9/15. Trunk builds also stopped then ... Now they have resumed but won't run for me. I got steered to this thread so I've seen the bad news. But you mention in the updated Mac OS X build prerequisites that it's still possible to build on 10.4. My question is HOW? I can reverse version numbers in the universal mozconfig and set my own in my custom mozconfig, but that doesn't do all that is needed. Any ideas for a non-expert at programing? Or is the answer that you need to modify the requirements further to state building is no longer possible for < 10.5 and running is no longer possible for < 10.5? One more place to make these changes is in the Compatibility Matrix. It goes to 10.5, but stops at 4.0 and doesn't show 10..6. Thanks for any hints ... Dale
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•14 years ago
|
Whiteboard: [fixed in mozilla1.9.3a1]
Comment 37•14 years ago
|
||
Attachment #428926 -
Flags: review?(ted.mielczarek)
Updated•14 years ago
|
Attachment #428926 -
Flags: review?(ted.mielczarek) → review+
Comment 38•14 years ago
|
||
Comment on attachment 428926 [details] [diff] [review] (Bv1) Fix comment too [Checkin: Comment 38] http://hg.mozilla.org/mozilla-central/rev/f6cf621d9244
Attachment #428926 -
Attachment description: (Bv1) Fix comment too → (Bv1) Fix comment too
[Checkin: Comment 38]
Comment 39•14 years ago
|
||
Moving closed Future bugs into Release Engineering in preparation for removing the Future component.
Component: Release Engineering: Future → Release Engineering
Updated•11 years ago
|
Product: mozilla.org → Release Engineering
You need to log in
before you can comment on or make changes to this bug.
Description
•