Closed Bug 1074508 Opened 10 years ago Closed 10 years ago

OSX Mulet builds: /build/obj-firefox/i386/b2g/dev/installer: No such file or directory.

Categories

(Firefox OS Graveyard :: Runtime, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jgriffin, Assigned: jgriffin)

References

Details

Attachments

(3 files)

OSX Mulet builds are enabled on cedar, however they die with this error during make recurse_tools:

Packaging quitter@mozilla.org.xpi...
cd ../../dist/xpi-stage/quitter && /usr/bin/zip -qr ../quitter@mozilla.org.xpi *
mkdir -p ../../dist/FirefoxNightly.app/Contents/MacOS
mkdir -p ../../dist/FirefoxNightly.app/Contents/Resources/en.lproj
rsync -a --exclude '*.in' /builds/slave/ced-osx64-mulet-00000000000000/build/browser/app/macbuild/Contents ../../dist/FirefoxNightly.app --exclude English.lproj
rsync -a --exclude '*.in' /builds/slave/ced-osx64-mulet-00000000000000/build/browser/app/macbuild/Contents/Resources/English.lproj/ ../../dist/FirefoxNightly.app/Contents/Resources/en.lproj
sed -e 's/%APP_VERSION%/35.0a1/' -e 's/%MAC_APP_NAME%/Nightly/' -e 's/%MOZ_MACBUNDLE_ID%/org.mozilla.nightly/' -e 's/%MAC_BUNDLE_VERSION%/3514.9.29/' /builds/slave/ced-osx64-mulet-00000000000000/build/browser/app/macbuild/Contents/Info.plist.in > ../../dist/FirefoxNightly.app/Contents/Info.plist
sed -e 's/%MAC_APP_NAME%/Nightly/' /builds/slave/ced-osx64-mulet-00000000000000/build/browser/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > ../../dist/FirefoxNightly.app/Contents/Resources/en.lproj/InfoPlist.strings
rsync -a ../../dist/bin/ ../../dist/FirefoxNightly.app/Contents/MacOS
rm -f ../../dist/FirefoxNightly.app/Contents/MacOS/firefox
rsync -aL firefox ../../dist/FirefoxNightly.app/Contents/MacOS
cp -RL ../../dist/branding/firefox.icns ../../dist/FirefoxNightly.app/Contents/Resources/firefox.icns
cp -RL ../../dist/branding/document.icns ../../dist/FirefoxNightly.app/Contents/Resources/document.icns
printf APPLMOZB > ../../dist/FirefoxNightly.app/Contents/PkgInfo
set -e; \
	for mkfile in build/macosx/universal/flight.mk; do \
	  make -f /builds/slave/ced-osx64-mulet-00000000000000/build/$mkfile postflight_all TOPSRCDIR=/builds/slave/ced-osx64-mulet-00000000000000/build MOZ_OBJDIR=/builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox MOZ_BUILD_PROJECTS='i386 x86_64'; \
	done
mkdir -p /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/dist/universal/
rm -f /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/x86_64/dist/universal
ln -s /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/dist/universal /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/x86_64/dist/universal
make -C /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/b2g/dev/installer \
	   PKG_SKIP_STRIP=1 stage-package
make: *** /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/b2g/dev/installer: No such file or directory.  Stop.

Full log: https://tbpl.mozilla.org/php/getParsedLog.php?id=49123371&tree=Cedar&full=1#error0
Any idea what's going on?
Flags: needinfo?(poirot.alex)
Flags: needinfo?(mshal)
(In reply to Jonathan Griffin (:jgriffin) from comment #0)
> make -C
> /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/b2g/dev/
> installer \
> 	   PKG_SKIP_STRIP=1 stage-package
> make: ***
> /builds/slave/ced-osx64-mulet-00000000000000/build/obj-firefox/i386/b2g/dev/
> installer: No such file or directory.  Stop.

It looks like this make call is coming from here:

http://mxr.mozilla.org/mozilla-central/source/build/macosx/universal/flight.mk#30

Instead of doing something like 'make stage-package', it is assuming that there is a $(MOZ_BUILD_APP)/installer/Makefile, which doesn't exist for mulet. IOW, it is bypassing the b2g/dev/build.mk (which just redirects to browser/build.mk), and trying to jump directly into the installer directory. I think flight.mk needs to be this way because of the multi-objdirs going on for universal builds.

Are you sure you want universal OSX builds for mulet (i386+x86_64)? If not, you can probably just change the mulet mozconfig to use a non-universal browser mozconfig as its base.

If you do need universal OSX builds, I think the easiest thing to do is just add a b2g/dev/installer/Makefile.in. If you just want to redirect it to browser/installer/Makefile.in, you could try something like:

b2g/dev/installer/Makefile.in:
%:
       $(MAKE) -C $(DEPTH)/browser/installer $@

(untested)

Or maybe just including browser/installer/Makefile.in will work. Feel free to ping me if you're having trouble!
Flags: needinfo?(mshal)
Thanks.  I don't think we care about universal builds, so here's a mozconfig that's non-universal for Mulet.  There wasn't a non-universal nightly mozconfig to inherit from, so I constructed one based on the non-universal debug config.
Attachment #8497594 - Flags: review?(mshal)
Assignee: nobody → jgriffin
Flags: needinfo?(poirot.alex)
Comment on attachment 8497594 [details] [diff] [review]
Add non-universal mozconfig for OSX mulet,

Looks reasonable to me, though I haven't checked to make sure all of those ac_add_options are actually necessary for mulet. We can always iterate from here if necessary.
Attachment #8497594 - Flags: review?(mshal) → review+
Comment on attachment 8499657 [details] [diff] [review]
Point osx mulet builds to new mozconfig,

Review of attachment 8499657 [details] [diff] [review]:
-----------------------------------------------------------------

++ for adding in_tree to 'mozconfig'
Attachment #8499657 - Flags: review?(jlund) → review+
(In reply to Jonathan Griffin (:jgriffin) from comment #7)
> Created attachment 8499657 [details] [diff] [review]
> Point osx mulet builds to new mozconfig,

https://hg.mozilla.org/build/buildbot-configs/rev/c9b7b376560f
The current failure is:

make: *** No rule to make target `buildsymbols'.  Stop.

Full log:  https://tbpl.mozilla.org/php/getParsedLog.php?id=49828116&tree=Cedar&full=1#error0

Any ideas?
Flags: needinfo?(mshal)
I think you just need to fix the platform_objdir in buildbot-configs/mozilla/b2g_config.py:

        'platform_objdir': "%s/i386" % OBJDIR,

Now that it's not a universal build, it should probably just be OBJDIR
Flags: needinfo?(mshal)
Thanks for the pointer.
Attachment #8502855 - Flags: review?(mshal)
Attachment #8502855 - Flags: review?(mshal) → review+
(In reply to Jonathan Griffin (:jgriffin) from comment #12)
> Created attachment 8502855 [details] [diff] [review]
> Use OBJDIR as the osx mulet platform_objdir,
> 
> Thanks for the pointer.

https://hg.mozilla.org/build/buildbot-configs/rev/2aeed1fa1a89
Merged to production, and deployed.
\o/, it works now.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: