Closed Bug 666953 Opened 13 years ago Closed 13 years ago

The Gecko 5.0 SDK is missing an x86_64 osx build

Categories

(Release Engineering :: General, defect)

x86_64
macOS
defect
Not set
blocker

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: conroy, Assigned: bhearsum)

References

Details

User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.797.0 Safari/535.1
Build Identifier: http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/5.0/sdk/

http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/5.0/sdk/ shows only an i386 build for OSX.

There was an x86_64 sdk provided for Gecko 2 (FF4), and I can't find any mention of dropping x86_64 osx support on the add-ons compatability posting. https://bugzilla.mozilla.org/show_bug.cgi?id=661792 looks somewhat related, but it's marked as resolved.

This is a necessary component for building a plugin that properly supports FF5.

Reproducible: Always
This is ... bad.
Severity: normal → blocker
Status: UNCONFIRMED → NEW
Ever confirmed: true
They appear to exist in the latest-mozilla-beta directory on ftp so they must be getting built, they just never made it to the candidates or release dirs, maybe just a mistake copying the files?
Looking into this
looks like we didn't generate this for 5.0 release builds.

ftp://ftp.mozilla.org/pub/xulrunner/nightly/5.0-candidates/build1/sdk/

I extracted the 5.0 xulrunner runtime and all of the libraries in it are universal binaries but the sdk only has i386 binaries.
http://hg.mozilla.org/build/buildbot-configs/file/c56b71d48623/mozilla/release-firefox-mozilla-release.py#l67 suggests that we should be generating 64bit mac xulrunner.
and http://hg.mozilla.org/build/buildbot-configs/file/c56b71d48623/mozilla2/macosx64/mozilla-release/xulrunner/mozconfig#l1 suggests that we should be building this as universal
The XULRunner runtime can be, and should be universal. The Gecko SDK cannot be universal, we have always shipped one copy for each architecture
moz2-darwin10-slave17:build cltbld$ find . -name xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2
./obj-firefox/x86_64/dist/sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2


That is the file we are looking for.  The makefiles don't know where to look for this file, so they didn't get uploaded.
set -e; \
	for app in i386 x86_64; do \
	  make -f /builds/slave/rel-rel-xr-osx64-bld/build/client.mk upload MOZ_CURRENT_PROJECT=$app; \
	done
make -j4 -C obj-firefox/i386 upload
CHECKSUM FILE START
b56a9d610ddbbeeda876d19d18ede7e7e261bb81336189e784902d2fefaf9fb0f334055c2b93f82a2e266c40179760d7f6b3aa198678971021301eb537308bc1 sha512 27298557 runtimes/xulrunner-5.0.en-US.mac-pkg.dmg
ee5ccb5f81afdb747cf0e491db082f7514494153a1de30d9eb7bfa670e114bccf8a6452ece801336b16bec179a61dc44c02959dcf94d34ab83a4a49564bcdb6a sha512 50713773 sdk/xulrunner-5.0.en-US.mac-i386.sdk.tar.bz2
bd6ad3e83002f0bd55e75ea0fea6b7a6eb17293f98f496c2bd258d3d40228e492b0ae84f9206cc838d2c0933d84dd53b77abf9067f6e4b34ec4e7478bee72d51 sha512 79 runtimes//xulrunner-5.0.en-US.mac-pkg.txt
CHECKSUM FILE END
/tools/buildbot/bin/python2.6 /builds/slave/rel-rel-xr-osx64-bld/build/build/upload.py --base-path ../../dist \
		"../../dist/runtimes/xulrunner-5.0.en-US.mac-pkg.dmg"       "../../dist/sdk/xulrunner-5.0.en-US.mac-i386.sdk.tar.bz2" "../../dist/runtimes//xulrunner-5.0.en-US.mac-pkg.txt"    \
		"../../dist/runtimes//xulrunner-5.0.en-US.mac-pkg.checksums"
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/i386/dist/runtimes/xulrunner-5.0.en-US.mac-pkg.dmg
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/i386/dist/sdk/xulrunner-5.0.en-US.mac-i386.sdk.tar.bz2
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/i386/dist/runtimes/xulrunner-5.0.en-US.mac-pkg.txt
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/i386/dist/runtimes/xulrunner-5.0.en-US.mac-pkg.checksums
Running post-upload command: post_upload.py -p xulrunner -v 5.0 -n 1 --release-to-candidates-dir
Upload complete
make -j4 -C obj-firefox/x86_64 upload

Process stderr:
Makefile:100: FULL_NSPR_CFLAGS=-I\${includedir}
make[3]: dpkg-architecture: Command not found
make[3]: dpkg-architecture: Command not found
make[3]: dpkg-architecture: Command not found
make[3]: dpkg-architecture: Command not found
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/runtimes/xulrunner-5.0.en-US.mac-pkg.dmg
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/sdk/xulrunner-5.0.en-US.mac-i386.sdk.tar.bz2
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/runtimes/xulrunner-5.0.en-US.mac-pkg.txt
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/runtimes/xulrunner-5.0.en-US.mac-pkg.checksums
Makefile:100: FULL_NSPR_CFLAGS=-I\${includedir}
make[3]: dpkg-architecture: Command not found
make[3]: dpkg-architecture: Command not found
Traceback (most recent call last):
  File "/builds/slave/rel-rel-xr-osx64-bld/build/build/checksums.py", line 187, in <module>
    main()
  File "/builds/slave/rel-rel-xr-osx64-bld/build/build/checksums.py", line 184, in main
    process_files(files, options.outfile, options.digest, options.strip)
  File "/builds/slave/rel-rel-xr-osx64-bld/build/build/checksums.py", line 100, in process_files
    output = open(output_filename, 'w+')
IOError: [Errno 2] No such file or directory: '../../dist/runtimes//xulrunner-5.0.en-US.mac-pkg.checksums'
make[3]: *** [checksum] Error 1
make[2]: *** [upload] Error 2
make[1]: *** [upload] Error 2
make: *** [upload] Error 2
John-Fords-MacBook-Pro:~ jhford$ ssh moz2-darwin10-slave17.build.mozilla.org
moz2-darwin10-slave17:~ cltbld$ cd /builds/slave/rel-rel-xr-osx64-bld/build/
moz2-darwin10-slave17:build cltbld$ export POST_UPLOAD_CMD="post_upload.py -p xulrunner -v 5.0 -n 1 --release-to-candidates-dir"
moz2-darwin10-slave17:build cltbld$ export UPLOAD_HOST=stage.mozilla.org
moz2-darwin10-slave17:build cltbld$ export UPLOAD_SSH_KEY=~/.ssh/xrbld_dsa
moz2-darwin10-slave17:build cltbld$ export UPLOAD_TO_TEMP=1
moz2-darwin10-slave17:build cltbld$ export UPLOAD_USER=xrbld
moz2-darwin10-slave17:build cltbld$ export MOZ_CRASHREPORTER_NO_REPORT=1
moz2-darwin10-slave17:build cltbld$ export MOZ_OBJDIR=obj-firefox
moz2-darwin10-slave17:build cltbld$ export MOZ_PKG_PRETTYNAMES=1
moz2-darwin10-slave17:build cltbld$ export MOZ_PKG_VERSION=5.0
moz2-darwin10-slave17:build cltbld$ export MOZ_SYMBOLS_EXTRA_BUILDID=macosx64
moz2-darwin10-slave17:build cltbld$ export SYMBOL_SERVER_HOST=dm-symbolpush01.mozilla.org
moz2-darwin10-slave17:build cltbld$ export SYMBOL_SERVER_PATH=/mnt/netapp/breakpad/symbols_xr/
moz2-darwin10-slave17:build cltbld$ export SYMBOL_SERVER_SSH_KEY=/Users/cltbld/.ssh/xrbld_dsa
moz2-darwin10-slave17:build cltbld$ export SYMBOL_SERVER_USER=xrbld
moz2-darwin10-slave17:build cltbld$ mkdir obj-firefox/x86_64/dist/runtimes
moz2-darwin10-slave17:build cltbld$ make -j4 -C obj-firefox/x86_64 upload
Makefile:100: FULL_NSPR_CFLAGS=-I\${includedir}
make[1]: dpkg-architecture: Command not found
make[1]: dpkg-architecture: Command not found
CHECKSUM FILE START
ee270b0391be4d36b817b80ac8f1ef815cfe709e5721731f25da4840ae7d0a157b5a725f146195db161e178c9c6ed594ece8101c61e8ab4d7ef52160507775ca sha512 50562176 sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2
CHECKSUM FILE END
make[1]: dpkg-architecture: Command not found
make[1]: dpkg-architecture: Command not found
/tools/buildbot/bin/python2.6 /builds/slave/rel-rel-xr-osx64-bld/build/build/upload.py --base-path ../../dist \
		       "../../dist/sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2"     \
		"../../dist/runtimes//xulrunner-5.0.en-US.mac-pkg.checksums"
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/x86_64/dist/sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2
xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2                                                                                                           100%   48MB   6.9MB/s   00:07    
Uploading /builds/slave/rel-rel-xr-osx64-bld/build/obj-firefox/x86_64/dist/runtimes/xulrunner-5.0.en-US.mac-pkg.checksums
xulrunner-5.0.en-US.mac-pkg.checksums                                                                                                                100%  192     0.2KB/s   00:00    
Running post-upload command: post_upload.py -p xulrunner -v 5.0 -n 1 --release-to-candidates-dir
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2
http://stage.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/runtimes/xulrunner-5.0.en-US.mac-pkg.checksums
Upload complete
moz2-darwin10-slave17:build cltbld$
To recap, there is a problem with our build system (bug 667012) which caused this upload to break.  Unsure why this wasn't caught during the release process as the build did appropriately turn red.

This build is up on ftp.mozilla.org at 

http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/5.0-candidates/build1/sdk/xulrunner-5.0.en-US.mac-x86_64.sdk.tar.bz2

I have not yet put it into the releases directory because:

1) I'd have to redo the checksums files for the release
  -ftp://ftp.mozilla.org/pub/xulrunner/releases/5.0/MD5SUMS
  -ftp://ftp.mozilla.org/pub/xulrunner/releases/5.0/MD5SUMS.asc
  -ftp://ftp.mozilla.org/pub/xulrunner/releases/5.0/SHA1SUMS
  -ftp://ftp.mozilla.org/pub/xulrunner/releases/5.0/SHA1SUMS.asc
2) I am not sure how to regenerate the above files without rerunning all signing for this build
3) If we do regenerate these files, we'd likely need to create a -push2 directory on the mirror network because we are overwriting files.  The mac64 sdk is a new file, so we would get that file propagating to the mirrors
properly, but overwriting other files on the mirrors is difficult.

I propose that we either create a new directory in ftp://ftp.mozilla.org/pub/xulrunner/releases/ called '5.0-mac64-sdk' that contains the relevant sdk file, a note in this directory explaining what happened, and a note in ftp://ftp.mozilla.org/pub/xulrunner/releases/5.0/sdk/ telling people where the build can be found.

An alternative would be to put the sdk in the existing releases/5.0/sdk/ directory, regenerate the *SUMS and *SUMS.asc files, copy these new files to *SUMS-new and *SUMS-new.asc to ensure that new versions of the files propagate.
Assignee: nobody → jhford
AFAIK the difficulty with mirrors is removing files - overwriting should be fine - so reusing releases/5.0/ would be preferable.
A better comment would have been - on MDC we link to xulrunner files using releases.m.o, which is made up of tier1 mirrors which can be relied on to sync properly. So it's OK to replace the SUMS files and their signatures.
This is my mistake, I'll finish up here. Thanks for the initial investigate, John.
Assignee: jhford → bhearsum
I just finished resigning & pushing. The x86_64 SDK should be available on releases.m.o very soon. Details of exactly what was done to fix us up are documented here: https://wiki.mozilla.org/Releases/Firefox_5.0/BuildNotes#Push_64-bit_Mac_XULRunner_SDK.
Looks like it's been picked up by a couple of mirrors now.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Blocks: 663894
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.