User Agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1 Build ID: 20120616064646 Steps to reproduce: firefox 13.0.1 compiled fine with clang but trunk won't, Actual results: clang++ -o jsgc.o -c -I./../../dist/system_wrappers_js -include /home/hussam/packages/firefox/js/src/config/gcc_hidden.h -DMOZ_GLUE_IN_PROGRAM -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib/libffi-3.0.11/include -I. -I/home/hussam/packages/firefox/js/src/../../mfbt/double-conversion -I/home/hussam/packages/firefox/js/src -I. -I./../../dist/include -I/usr/include/nspr -I/home/hussam/packages/firefox/js/src -I/home/hussam/packages/firefox/js/src/assembler -I/home/hussam/packages/firefox/js/src/yarr -fPIC -Qunused-arguments -pedantic -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-long-long -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -Qunused-arguments -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgc.pp /home/hussam/packages/firefox/js/src/jsgc.cpp /home/hussam/packages/firefox/js/src/jsgc.cpp:2736:5: error: use of undeclared identifier 'PR_SetCurrentThreadName' PR_SetCurrentThreadName("JS GC Helper"); ^ 1 error generated. make: *** [jsgc.o] Error 1 make: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu/js/src' make: *** [libs_tier_js] Error 2 make: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu' make: *** [tier_js] Error 2 make: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu' make: *** [default] Error 2 make: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu' make: *** [realbuild] Error 2 make: Leaving directory `/home/hussam/packages/firefox' make: *** [build] Error 2 Expected results: firefox should compile correctly. Note: This worked in firefox 13.0.1 so it is a regression.
Do you have a regression range for the breakage?
No, sorry. all I know is that it worked when I compiled firefox 13.0.1 then didn't when I felt like playing with a trunk build.
ok, it works with internal nspr but not with system nspr 4.9.1
Honza: mozilla/configure.in can require a particular version of system nspr: http://mxr.mozilla.org/mozilla-central/source/configure.in#3890 3890 dnl ======================================================== 3891 dnl = If NSPR was not detected in the system, 3892 dnl = use the one in the source tree (mozilla/nsprpub) 3893 dnl ======================================================== 3894 MOZ_ARG_WITH_BOOL(system-nspr, 3895 [ --with-system-nspr Use system installed NSPR], 3896 _USE_SYSTEM_NSPR=1 ) 3897 3898 if test -n "$_USE_SYSTEM_NSPR"; then 3899 AM_PATH_NSPR(4.9.0, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([your don't have NSPR installed or your version is too old])]) 3900 fi I don't know what happens if the system nspr is too old. We should change 4.9.0 to 4.9.2.
Is anybody working on this? It's assigned, but there is nobody reasonable in the assignee field.
Created attachment 642671 [details] [diff] [review] v0 We don't actually need to touch the browser's requirement, just the SpiderMonkey one.
Comment on attachment 642671 [details] [diff] [review] v0 Main configure needs this too.
Comment on attachment 642671 [details] [diff] [review] v0 required on aurora 16 branch if bug 778845 lands there
Comment on attachment 642671 [details] [diff] [review] v0 This hasn't even landed on mozilla-central.
(In reply to Terrence Cole [:terrence] from comment #6) > Created attachment 642671 [details] [diff] [review] > v0 > > We don't actually need to touch the browser's requirement, just the > SpiderMonkey one. We do. Because of bug 720778.
Note that it's also needed on mozilla-beta. 16.0b1 doesnt build with system nspr 4.9.0.
Created attachment 657646 [details] [diff] [review] fix it both places Stealing bug since no new patch in over 1 month, And this is bound to give Linux Distro's a headache with build errors if we let it languish as an issue in beta for long.
Created attachment 657647 [details] [diff] [review] fix it both places v1.5 This time after qref'ing
Comment on attachment 657647 [details] [diff] [review] fix it both places v1.5 [Approval Request Comment] Bug caused by (feature/regressing bug #): User impact if declined: None, but has Linux Distro problems if decline Testing completed (on m-c, etc.): Landing on m-i now. Risk to taking this patch (and alternatives if risky): NPOTB (our builds don't use --with-system-nspr) String or UUID changes made by this patch: None Without this patch, we risk linux distro's wasting time trying to compile Firefox 16 against an older [system] NSPR and getting confused, by taking this change we are able to error out early and let them know they need to update the dependancy in both their build tools and the rpm/yum/whatever repo they store it in.
Comment on attachment 657647 [details] [diff] [review] fix it both places v1.5 [Triage Comment] NPOTB, good fix for Linux maintainers.