Closed Bug 1195546 Opened 9 years ago Closed 8 years ago

"make package" broken for universal builds on OS X

Categories

(Firefox Build System :: General, defect)

43 Branch
All
macOS
defect
Not set
normal

Tracking

(firefox43 affected)

RESOLVED FIXED
Tracking Status
firefox43 --- affected

People

(Reporter: smichaud, Unassigned)

References

Details

(Whiteboard: [workaround in comment #4])

Attachments

(1 file)

It's never been possible to use mach to do Mac universal builds. But for many years you could use "make -f client.mk build" to do the build, then cd to objdir/i386 or objdir/x86_64 and run "make package". The "make package" part broke quite recently. Now you get a bunch of error messages running "make package", including the following (which seems to be the most significant): raise ObjdirMismatchException(topobjdir, _config_topobjdir) mozbuild.base.ObjdirMismatchException: Objdir mismatch: /usr/local/src/Mozilla/mozilla-central/obj-firefox-univ/i386 != /usr/local/src/Mozilla/mozilla-central/obj-firefox-univ I don't know why our automated builds didn't break -- they must have a workaround.
> then cd to objdir/i386 or objdir/x86_64 and run "make package" Actually running "make package" in objdir/x86_64 breaks for other reasons ... and may have been broken a long time. My habit has always been to use obdir/i386 -- where (as I've said) "make package" only broke recently.
It's the following patch that caused this breakage: https://hg.mozilla.org/mozilla-central/rev/3747bcb215b1 bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps author Ted Mielczarek <ted@mielczarek.org> Mon, 03 Aug 2015 15:40:04 -0400
Blocks: 1190522
So the workaround here was: https://dxr.mozilla.org/mozilla-central/source/python/mozbuild/mozbuild/mach_commands.py#400 ...which is how `make package` gets invoked in automation. Sorry, I should have also tested a local universal build. You can use that same workaround for now by running `make -C $objdir/i386 package MOZ_CURRENT_PROJECT=i386`.
> `make -C $objdir/i386 package MOZ_CURRENT_PROJECT=i386` Thanks! Works like a charm.
Whiteboard: [workaround in comment #4]
(Following up comment #2) I just confirmed that the breakage using "make package" in obdir/x86_64 isn't caused by bug 1190522 -- it was there before that patch landed. It's probably not worth trying to fix -- not unless enough people complain about it.
(In reply to Steven Michaud [:smichaud] from comment #6) > I just confirmed that the breakage using "make package" in obdir/x86_64 > isn't caused by bug 1190522 -- it was there before that patch landed. It's > probably not worth trying to fix -- not unless enough people complain about > it. FYI I had filed bug 1201345 on that, it got fixed as a result of bug 762449.
Well, guess who just turned into a blocker, holding mozilla-beta closed? mach_commands.py is how make package gets invoked in automation right up until we merge to beta, at which point we stop doing mozharness builds and start doing things old school, so now Mac opt builds are permared on beta and it's closed as a result.
Severity: normal → blocker
Bug 1220018 has a work around in the buildbot environment.
See Also: → 1220018
And it's working, so lowering back to normal.
Severity: blocker → normal
Fixed for the cross-compile case in bug 1183613.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
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: