Closed Bug 937458 Opened 9 years ago Closed 9 years ago

mach bootstrap didn't notice old clang


(Firefox Build System :: General, defect)

Not set


(Not tracked)



(Reporter: nthomas, Assigned: nthomas)



(1 file)

Started with OS X 10.8.5, XCode 5.0.1, and an older clang:

$ ls -l `which clang`
-rwxr-xr-x  1 root  wheel  21622640 14 Nov  2012 /usr/bin/clang*
$ clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix says this is from XCode 4.5.1 or 4.5.2.

'./mach bootstrap' installs a few things from homebrew (python 2.7.5, gdbm, sqlite) and declares success.

Building m-c fails (581d180a37f3):
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/jscompartment.cpp:7:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/jscompartmentinlines.h:10:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/jscompartment.h:12:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/builtin/TypeRepresentation.h:51:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/jscntxt.h:15:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/vm/Runtime.h:19:
 1:55.61 In file included from /Users/nthomas/source/hgmo/mozilla-central/js/src/jsatom.h:14:
 1:55.61 /Users/nthomas/source/hgmo/mozilla-central/js/src/gc/Barrier.h:1147:7: error: no member named 'operator=' in 'JS::Value'
 1:55.61 class ReadBarrieredValue
 1:55.62       ^~~~~~~~~~~~~~~~~~
 1:55.62 /Users/nthomas/source/hgmo/mozilla-central/js/src/jscompartment.cpp:207:37: note: in instantiation of function template specialization 'js::HashMap<js::CrossCompartmentKey, js::ReadBarrieredValue, js::WrapperHasher, js::SystemAllocPolicy>::put<js::CrossCompartmentKey, JS::Value>' requested here
 1:55.62     return crossCompartmentWrappers.put(wrapped, wrapper);
 1:55.62                                     ^
 1:55.62 ../../dist/include/js/HashTable.h:225:22: note: implicit default move assignment operator for 'js::ReadBarrieredValue' first required here
 1:55.62             p->value = v;
 1:55.62                      ^
 1:55.62 1 error generated.
 1:55.64 In the directory  /Users/nthomas/source/hgmo/mozilla-central/obj-x86_64-apple-darwin12.5.0/js/src
 1:55.64 The following command failed to execute properly:
 1:55.64 /usr/bin/clang++ -o jscompartment.o -c -fvisibility=hidden -DENABLE_PARALLEL_JS -DENABLE_BINARYDATA -DNO_NSPR_10_SUPPORT -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX="lib" -DDLL_SUFFIX=".dylib" -DUSE_ZLIB -Ictypes/libffi/include -I/Users/nthomas/source/hgmo/mozilla-central/js/src/../../mfbt/double-conversion -I/Users/nthomas/source/hgmo/mozilla-central/js/src/../../intl/icu/source/common -I/Users/nthomas/source/hgmo/mozilla-central/js/src/../../intl/icu/source/i18n -I/Users/nthomas/source/hgmo/mozilla-central/js/src -I. -I../../dist/include -I/Users/nthomas/source/hgmo/mozilla-central/obj-x86_64-apple-darwin12.5.0/dist/include/nspr -I/Users/nthomas/source/hgmo/mozilla-central/js/src -fPIC -Qunused-arguments -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MP -MF .deps/jscompartment.o.pp -Qunused-arguments -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wsign-compare -Wno-invalid-offsetof -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-mismatched-tags -fno-common -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -fno-stack-protector -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 /Users/nthomas/source/hgmo/mozilla-central/js/src/jscompartment.cpp
 1:55.65 make[5]: *** [jscompartment.o] Error 1
 1:55.65 make[5]: *** Waiting for unfinished jobs....

Updated to Xcode 5.0.2, m-c still busted. 

Install Command Line Tools using XCode preferences UI:
$ ls -l `which clang-rwxr-xr-x  1 root  admin  29381728 12 Nov 16:44 /usr/bin/clang*
# this is the local install timestamp

$ clang --version
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

Compile gets past point of failure.

So is 
  APPLE_CLANG_MINIMUM_VERSION = StrictVersion('4.0')
at out of date since some change in js ?
If the tree can't build with Apple Clang 4.0, then perhaps we should up APPLE_CLANG_MINIMUM_VERSION to 4.2 to coincide with LLVM 3.2. Want to create a patch?
I don't have 4.2 on hand to verify that, but sure.
Comment on attachment 831762 [details] [diff] [review]
Bump clang requirement to v4.2

Review of attachment 831762 [details] [diff] [review]:

Checkin with DONTBUILD (NPOTB)
Attachment #831762 - Flags: review?(gps) → review+
Assignee: nobody → nthomas
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.