Closed Bug 775539 Opened 14 years ago Closed 13 years ago

Build SeaMonkey using clang

Categories

(SeaMonkey :: Release Engineering, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ewong, Assigned: ewong)

References

Details

Attachments

(1 file, 7 obsolete files)

Mozilla-central has changed their OSX build to use clang, and with that the mozilla/build/macosx/common was changed which our buildslaves complained about: TEST-UNEXPECTED-FAIL | check-sync-dirs.py | build file copies are not in sync TEST-INFO | check-sync-dirs.py | file(s) found in: /builds/slave/comm-cen-trunk-osx-dbg/build/build TEST-INFO | check-sync-dirs.py | differ from their originals in: /builds/slave/comm-cen-trunk-osx-dbg/build/mozilla/build TEST-INFO | check-sync-dirs.py | differing file: ./macosx/common while changing the macosx/common file is simple, clang needs to be installed.
Attachment #644200 - Flags: review?(bugspam.Callek)
(In reply to Edmund Wong (:ewong) from comment #1) > Created attachment 644200 [details] [diff] [review] > Workaround to unbust OSX builds until clang is installed. > > My comments on this patch: > https://wiki.mozilla.org/User:Ewong/osxbustagereport Pushed to comm-central: http://hg.mozilla.org/comm-central/rev/ecf5155354d8
Summary: Install clang on OSX machines and change macosx/common to reflect this. → Build SeaMonkey using clang
Attachment #644200 - Attachment is obsolete: true
Attachment #644200 - Flags: review?(bugspam.Callek)
OS: Mac OS X → All
Attachment #644566 - Flags: feedback?(rail)
Attachment #644568 - Flags: feedback?(rail)
Comment on attachment 644568 [details] [diff] [review] buildbot-config/ changes to enable builds with clang on macosx and linux. (v1) In overall it looks good, but missing one mandatory variable: tooltool_url_list. See http://hg.mozilla.org/build/buildbot-configs/file/668ac0e7b1a3/mozilla/production_config.py#l83 BTW, since you're going to use tooltool, you'll need either have access to http://runtime-binaries.pvt.build.mozilla.org or have your own copy of those files. What's your plan here?
Attachment #644568 - Flags: feedback?(rail) → feedback+
Comment on attachment 644566 [details] [diff] [review] suite/ changes to enable clang on macosx and linux. (v1) I haven't checked the values, but lgtm.
Attachment #644566 - Flags: feedback?(rail) → feedback+
BTW, Firefox still uses gcc to build linux/linux64. Do you really want to use calng for these platforms?
(In reply to Rail Aliiev [:rail] from comment #8) > BTW, Firefox still uses gcc to build linux/linux64. Do you really want to > use calng for these platforms? Oh.. my over-ambitious c&p.. so I just basically remove the linux/linux64 lines and it's still good to go?
(In reply to Edmund Wong (:ewong) from comment #9) > (In reply to Rail Aliiev [:rail] from comment #8) > > BTW, Firefox still uses gcc to build linux/linux64. Do you really want to > > use calng for these platforms? > > Oh.. my over-ambitious c&p.. so I just basically remove the linux/linux64 > lines > and it's still good to go? Yeah, it should just work.
Assignee: nobody → ewong
Attachment #644568 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #644589 - Flags: feedback+
Attachment #644566 - Flags: review?(bugspam.Callek)
Attachment #644589 - Flags: review?(bugspam.Callek)
Depends on: 776261
Depends on: 776428
Depends on: 776426
Depends on: 776523
Depends on: 768879
Comment on attachment 644566 [details] [diff] [review] suite/ changes to enable clang on macosx and linux. (v1) Review of attachment 644566 [details] [diff] [review]: ----------------------------------------------------------------- r- for two reasons, #1 we can't do this until we can use a tooltool server that has clang (I'm working on that) #2 lets make the mac ones like the Firefox setup, and bump the clang version we use to match that of Firefox http://mxr.mozilla.org/comm-central/source/mozilla/browser/config/tooltool-manifests/
Attachment #644566 - Flags: review?(bugspam.Callek)
Attachment #644566 - Flags: review-
Attachment #644566 - Flags: feedback+
Comment on attachment 644589 [details] [diff] [review] buildbot-config/ changes to enable builds with clang on macosx(v2) Review of attachment 644589 [details] [diff] [review]: ----------------------------------------------------------------- We're now using tooltool on linux for Firefox, lets adjust this per my previous comments and do it for Linux as well... see- http://mxr.mozilla.org/build/search?string=tooltool_manifes&find=%2Fconfig.py&findi=&filter=^[^\0]*%24&hitlimit=&tree=build We'll need a buildbotcustom patch as well, which I'll try to get complete ASAP, but it looks like it will slip past our "support gcc on mac" cutoff. A few days of bustage on trunk should be manageable though.
Attachment #644589 - Flags: review?(bugspam.Callek)
Attachment #644589 - Flags: review-
Attachment #644589 - Flags: feedback+
Attached patch Build SeaMonkey using clang (v2) (obsolete) — Splinter Review
Attachment #644566 - Attachment is obsolete: true
Attachment #655535 - Flags: review?(bugspam.Callek)
Depends on: 785815
Comment on attachment 655535 [details] [diff] [review] Build SeaMonkey using clang (v2) This needs to land before the stuff in Bug 785815 and looks good, but you're still behind on the mac clang versions. I had r161022 up in our temp location, but I'm adding r161152 now, can you update the attachment to do the following: * All clang versions updated to r161152 per current m-c http://hg.mozilla.org/mozilla-central/rev/a412d39f5526 * Don't add the clang.manifest files in mac*/ folders.
Attachment #655535 - Flags: review?(bugspam.Callek) → review-
Attachment #655535 - Attachment is obsolete: true
Attachment #657675 - Flags: review?(bugspam.Callek)
Attachment #644589 - Attachment is obsolete: true
Attachment #657676 - Flags: review?(bugspam.Callek)
Attachment #657675 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 657676 [details] [diff] [review] buildbot-config/ changes to enable builds with clang on macosx and linux(v3 Review of attachment 657676 [details] [diff] [review]: ----------------------------------------------------------------- r+ with nits below. We'll need to land an *empty* releng.manifest (like the linux releng.manifest files in the other patch here) to *all* trees before this lands, comm-aurora, comm-beta and comm-release. Once we see good results on trunk, we can turn on clang on aurora for mac without any problems. ::: seamonkey/config.py @@ +157,5 @@ > 'enable_opt_unittests': False, > 'enable_checktests': True, > 'talos_masters': GLOBAL_VARS['talos_masters'], > 'stage_product': 'seamonkey', > + 'tooltool_manifest_src': 'suite/config/tooltool-manifests/linux32/clang.manifest', Since m-c doesn't build linux with clang by default yet, we want releng.manifest here @@ +195,5 @@ > 'enable_opt_unittests': False, > 'enable_checktests': True, > 'talos_masters': GLOBAL_VARS['talos_masters'], > 'stage_product': 'seamonkey', > + 'tooltool_manifest_src': 'suite/config/tooltool-manifests/linux64/clang.manifest', here too
Attachment #657676 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 657676 [details] [diff] [review] buildbot-config/ changes to enable builds with clang on macosx and linux(v3 Review of attachment 657676 [details] [diff] [review]: ----------------------------------------------------------------- r- with nits below. We'll need to land an *empty* releng.manifest (like the linux releng.manifest files in the other patch here) to *all* trees before this lands, comm-aurora, comm-beta and comm-release. Once we see good results on trunk, we can turn on clang on aurora for mac without any problems. I might be confused, but looks like https://bugzilla.mozilla.org/attachment.cgi?id=657672&action=edit is what you meant to attach, so r- here I'll r+ that one. ::: seamonkey/config.py @@ +157,5 @@ > 'enable_opt_unittests': False, > 'enable_checktests': True, > 'talos_masters': GLOBAL_VARS['talos_masters'], > 'stage_product': 'seamonkey', > + 'tooltool_manifest_src': 'suite/config/tooltool-manifests/linux32/clang.manifest', Since m-c doesn't build linux with clang by default yet, we want releng.manifest here @@ +195,5 @@ > 'enable_opt_unittests': False, > 'enable_checktests': True, > 'talos_masters': GLOBAL_VARS['talos_masters'], > 'stage_product': 'seamonkey', > + 'tooltool_manifest_src': 'suite/config/tooltool-manifests/linux64/clang.manifest', here too
Attachment #657676 - Flags: review+ → review-
Attachment #657676 - Attachment is obsolete: true
Attachment #657733 - Flags: review?(bugspam.Callek)
Attachment #657733 - Attachment is obsolete: true
Attachment #657733 - Flags: review?(bugspam.Callek)
So tooltool is installed, and seems to checkout/run clang/etc fine... however something is still not right, we're getting an error in configure, espindola, any thoughts on what might be wrong on our end? [I tried a manual run with the older clang as is in use with TB now, and no luck.] configure:1477: checking whether the host c compiler (/builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../cl ang/bin/clang -gdwarf-2 ) works configure:1486: /builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../clang/bin/clang -c -gdwarf-2 conftest.c 1>&5 configure:1501: checking whether the host c++ compiler (/builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../ clang/bin/clang++ -gdwarf-2 ) works configure:1510: /builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../clang/bin/clang++ -c -gdwarf-2 conftest .c 1>&5 clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated configure:1539: checking for /builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../clang/bin/clang configure:1573: checking for gcc configure:1686: checking whether the C compiler (/builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../clang/b in/clang -arch i386 -gdwarf-2 ) works configure:1702: /builds/slave/comm-cen-trunk-osx64-ntly/build/mozilla/../clang/bin/clang -arch i386 -o conftest - gdwarf-2 conftest.c 1>&5 configure:1699:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main(){return(0);} ^~~~ 1 warning generated. ld: unknown option: -demangle clang: error: linker command failed with exit code 1 (use -v to see invocation) configure: failed program was: #line 1697 "configure" #include "confdefs.h" main(){return(0);} cb-sea-miniosx64-01:i386 seabld$ ls
FYI cb-sea-miniosx64-01:build seabld$ /Developer/usr/bin/xcodebuild -version Xcode 3.2.1 Component versions: DevToolsCore-1614.0; DevToolsSupport-1591.0 BuildVersion: 10M2003
For comparison: bld-lion-r5-070:~ cltbld$ ld -v @(#)PROGRAM:ld PROJECT:ld64-123.2.1 llvm version 3.0svn, from Apple Clang 2.1 (build 163.7.1) bld-lion-r5-070:~ cltbld$ /Developer/usr/bin/xcodebuild -version Xcode 4.1 Build version 4B110 bld-lion-r5-070:~ cltbld$ Would my guess be right that I need to update XCode version?
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: