Open Bug 1125599 Opened 5 years ago Updated 5 years ago

Build failure: undefined reference to 'unorm_normalize_52' and others

Categories

(Core :: JavaScript Engine, defect)

34 Branch
x86
Linux
defect
Not set

Tracking

()

UNCONFIRMED

People

(Reporter: davmac, Unassigned)

Details

Attachments

(1 file)

Attached file .mozconfig
I am trying to build Thunderbird. I have reproduced the following problem with the source tarballs for both versions 31.4 and 34.0b1. The mozconfig file is attached; no other options were given to the configure script. Sequence of commands to build was:
  ../configure
  make

The build log is attached. There is a link failure with an undefined reference to 'unorm_normalize_52' and other symbols which appear to be from the icu library. The icu library doesn't appear to be included on the link command line. The bundled icu library should presumably be listed, as it was built and contains the necessary symbols.

(Interestingly, running "make" again immediately after the failure appears to resume the build, but it is not clear that the failing file has been rebuilt. I.e. I am not certain whether the build has just continued with an invalid output, or whether perhaps there is a race condition in the build).
It seems I'm unable to attach the build log. The HTTP connection to the bugzilla server resets every time I attempt to do so. Relevant lines from the log:

make[3]: Entering directory `/usr/src/comm-beta/thunderbird34-build/js/src/shell'
mkdir -p '.deps/'
js.o
c++ -o js.o -c  -I../../../dist/system_wrappers -include /usr/src/comm-beta/mozilla/config/gcc_hidden.h -DEXPORT_JS_API -DIMPL_MFBT -DMOZ_GLUE_IN_PROGRAM -DAB_CD= -DNO_NSPR_10_SUPPORT -I/usr/src/comm-beta/mozilla/js/src/shell -I. -I.. -I/usr/src/comm-beta/mozilla/js/src/shell/.. -I../../../dist/include  -I/usr/src/comm-beta/thunderbird34-build/dist/include/nspr        -fPIC   -DMOZILLA_CLIENT -include ../../../js/src/js-confdefs.h -MD -MP -MF .deps/js.o.pp  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -freorder-blocks -O3  -fomit-frame-pointer     /usr/src/comm-beta/mozilla/js/src/shell/js.cpp
In file included from /usr/src/comm-beta/mozilla/js/src/shell/../jscompartmentinlines.h:14:0,
                 from /usr/src/comm-beta/mozilla/js/src/shell/js.cpp:72:
/usr/src/comm-beta/mozilla/js/src/shell/../jscntxtinlines.h: In function 'bool Evaluate(JSContext*, unsigned int, jsval*)':
/usr/src/comm-beta/mozilla/js/src/shell/../jscntxtinlines.h:413:53: warning: '*((void*)(& ancx)+24).js::AutoCompartment::origin_' may be used uninitialized in this function [-Wmaybe-uninitialized]
 js::ExclusiveContext::setCompartment(JSCompartment *comp)
                                                     ^
/usr/src/comm-beta/mozilla/js/src/shell/js.cpp:1222:20: note: '*((void*)(& ancx)+24).js::AutoCompartment::origin_' was declared here
     AutoNewContext ancx;
                    ^
In file included from /usr/src/comm-beta/mozilla/js/src/shell/../jscompartmentinlines.h:14:0,
                 from /usr/src/comm-beta/mozilla/js/src/shell/js.cpp:72:
/usr/src/comm-beta/mozilla/js/src/shell/../jscntxtinlines.h:402:29: warning: '*((void*)(& ancx)+24).js::AutoCompartment::cx_' may be used uninitialized in this function [-Wmaybe-uninitialized]
     enterCompartmentDepth_--;
                             ^
/usr/src/comm-beta/mozilla/js/src/shell/js.cpp:1222:20: note: '*((void*)(& ancx)+24).js::AutoCompartment::cx_' was declared here
     AutoNewContext ancx;
                    ^
In file included from /usr/src/comm-beta/mozilla/js/src/shell/js.cpp:38:0:
/usr/src/comm-beta/mozilla/js/src/shell/../jsapi.h:1331:32: warning: '*((void*)(& ancx)+12).JSAutoRequest::mContext' may be used uninitialized in this function [-Wmaybe-uninitialized]
         JS_EndRequest(mContext);
                                ^
/usr/src/comm-beta/mozilla/js/src/shell/js.cpp:1222:20: note: '*((void*)(& ancx)+12).JSAutoRequest::mContext' was declared here
     AutoNewContext ancx;
                    ^
/usr/src/comm-beta/mozilla/js/src/shell/js.cpp: At global scope:
/usr/src/comm-beta/mozilla/js/src/shell/js.cpp:3237:1: warning: 'bool StackDump(JSContext*, unsigned int, JS::Value*)' defined but not used [-Wunused-function]
 StackDump(JSContext *cx, unsigned argc, Value *vp)
 ^
jsheaptools.o
c++ -o jsheaptools.o -c  -I../../../dist/system_wrappers -include /usr/src/comm-beta/mozilla/config/gcc_hidden.h -DEXPORT_JS_API -DIMPL_MFBT -DMOZ_GLUE_IN_PROGRAM -DAB_CD= -DNO_NSPR_10_SUPPORT -I/usr/src/comm-beta/mozilla/js/src/shell -I. -I.. -I/usr/src/comm-beta/mozilla/js/src/shell/.. -I../../../dist/include  -I/usr/src/comm-beta/thunderbird34-build/dist/include/nspr        -fPIC   -DMOZILLA_CLIENT -include ../../../js/src/js-confdefs.h -MD -MP -MF .deps/jsheaptools.o.pp  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -freorder-blocks -O3  -fomit-frame-pointer     /usr/src/comm-beta/mozilla/js/src/shell/jsheaptools.cpp
jsoptparse.o
c++ -o jsoptparse.o -c  -I../../../dist/system_wrappers -include /usr/src/comm-beta/mozilla/config/gcc_hidden.h -DEXPORT_JS_API -DIMPL_MFBT -DMOZ_GLUE_IN_PROGRAM -DAB_CD= -DNO_NSPR_10_SUPPORT -I/usr/src/comm-beta/mozilla/js/src/shell -I. -I.. -I/usr/src/comm-beta/mozilla/js/src/shell/.. -I../../../dist/include  -I/usr/src/comm-beta/thunderbird34-build/dist/include/nspr        -fPIC   -DMOZILLA_CLIENT -include ../../../js/src/js-confdefs.h -MD -MP -MF .deps/jsoptparse.o.pp  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -freorder-blocks -O3  -fomit-frame-pointer     /usr/src/comm-beta/mozilla/js/src/shell/jsoptparse.cpp
js
/usr/src/comm-beta/thunderbird34-build/_virtualenv/bin/python /usr/src/comm-beta/mozilla/config/expandlibs_exec.py --uselist --  c++ -o js  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -freorder-blocks -O3  -fomit-frame-pointer js.o jsheaptools.o jsoptparse.o   -lpthread  -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id    -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/usr/src/comm-beta/thunderbird34-build/dist/lib   ../../../js/src/editline/libeditline.a ../../../js/src/libjs_static.a -Wl,--whole-archive ../../../dist/lib/libmozglue.a ../../../dist/lib/libmemory.a -Wl,--no-whole-archive -rdynamic ../../../nsprpub/lib/ds/libplds4.so ../../../nsprpub/lib/libc/src/libplc4.so ../../../nsprpub/pr/src/libnspr4.so  -lm -ldl  -lm -ldl   
Executing: c++ -o js -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -g -freorder-blocks -O3 -fomit-frame-pointer /usr/src/comm-beta/thunderbird34-build/js/src/shell/tmpusYkDL.list -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/usr/src/comm-beta/thunderbird34-build/dist/lib ../libjs_static.a -Wl,--whole-archive ../../../dist/lib/libmozglue.a ../../../dist/lib/libmemory.a -Wl,--no-whole-archive -rdynamic ../../../nsprpub/lib/ds/libplds4.so ../../../nsprpub/lib/libc/src/libplc4.so ../../../nsprpub/pr/src/libnspr4.so -lm -ldl -lm -ldl
/usr/src/comm-beta/thunderbird34-build/js/src/shell/tmpusYkDL.list:
    INPUT("js.o")
    INPUT("jsheaptools.o")
    INPUT("jsoptparse.o")
    INPUT("../editline/editline.o")
    INPUT("../editline/sysunix.o")

../libjs_static.a(jsstr.o): In function `str_normalize':
/usr/src/comm-beta/mozilla/js/src/jsstr.cpp:1025: undefined reference to `unorm_normalize_52'
/usr/src/comm-beta/mozilla/js/src/jsstr.cpp:1035: undefined reference to `unorm_normalize_52'
../libjs_static.a(Intl.o): In function `js::intl_Collator_availableLocales(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:750: undefined reference to `ucol_getAvailable_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:750: undefined reference to `ucol_countAvailable_52'
../libjs_static.a(Intl.o): In function `js::intl_availableCollations(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:767: undefined reference to `ucol_getKeywordValuesForLocale_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:774: undefined reference to `uenum_count_52'
../libjs_static.a(Intl.o): In function `~ScopedICUObject':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:536: undefined reference to `uenum_close_52'
../libjs_static.a(Intl.o): In function `js::intl_availableCollations(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:786: undefined reference to `uenum_next_52'
../libjs_static.a(Intl.o): In function `js::intl_NumberFormat_availableLocales(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1241: undefined reference to `unum_getAvailable_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1241: undefined reference to `unum_countAvailable_52'
../libjs_static.a(Intl.o): In function `js::intl_DateTimeFormat_availableLocales(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1697: undefined reference to `udat_getAvailable_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1697: undefined reference to `udat_countAvailable_52'
../libjs_static.a(Intl.o): In function `js::intl_availableCalendars(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1735: undefined reference to `ucal_open_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1736: undefined reference to `ucal_getType_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1741: undefined reference to `ucal_close_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1750: undefined reference to `ucal_getKeywordValuesForLocale_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1757: undefined reference to `uenum_count_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1764: undefined reference to `uenum_next_52'
../libjs_static.a(Intl.o): In function `~ScopedICUObject':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:536: undefined reference to `uenum_close_52'
../libjs_static.a(Intl.o): In function `js::intl_patternForSkeleton(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1803: undefined reference to `u_strlen_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1806: undefined reference to `udatpg_open_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1814: undefined reference to `udatpg_getBestPattern_52'
../libjs_static.a(Intl.o): In function `~ScopedICUObject':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:536: undefined reference to `udatpg_close_52'
../libjs_static.a(Intl.o): In function `js::intl_patternForSkeleton(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1825: undefined reference to `udatpg_getBestPattern_52'
../libjs_static.a(Intl.o): In function `NewUCollator':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:936: undefined reference to `ucol_open_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:942: undefined reference to `ucol_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:943: undefined reference to `ucol_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:944: undefined reference to `ucol_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:945: undefined reference to `ucol_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:946: undefined reference to `ucol_setAttribute_52'
../libjs_static.a(Intl.o):/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:947: more undefined references to `ucol_setAttribute_52' follow
../libjs_static.a(Intl.o): In function `NewUCollator':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:949: undefined reference to `ucol_close_52'
../libjs_static.a(Intl.o): In function `js::intl_CompareStrings(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1033: undefined reference to `ucol_close_52'
../libjs_static.a(Intl.o): In function `intl_CompareStrings':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:981: undefined reference to `ucol_strcoll_52'
../libjs_static.a(Intl.o): In function `NewUNumberFormat':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1393: undefined reference to `unum_open_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1401: undefined reference to `unum_setTextAttribute_52'
../libjs_static.a(Intl.o): In function `~ScopedICUObject':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:536: undefined reference to `unum_close_52'
../libjs_static.a(Intl.o): In function `NewUNumberFormat':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1408: undefined reference to `unum_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1409: undefined reference to `unum_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1410: undefined reference to `unum_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1416: undefined reference to `unum_setAttribute_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1417: undefined reference to `unum_setAttribute_52'
../libjs_static.a(Intl.o):/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1412: more undefined references to `unum_setAttribute_52' follow
../libjs_static.a(Intl.o): In function `intl_FormatNumber':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1434: undefined reference to `unum_formatDouble_52'
../libjs_static.a(Intl.o): In function `js::intl_FormatNumber(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1490: undefined reference to `unum_close_52'
../libjs_static.a(Intl.o): In function `intl_FormatNumber':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1439: undefined reference to `unum_formatDouble_52'
../libjs_static.a(Intl.o): In function `NewUDateFormat':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1898: undefined reference to `u_strlen_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1906: undefined reference to `udat_open_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1884: undefined reference to `u_strlen_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1914: undefined reference to `udat_getCalendar_52'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1915: undefined reference to `ucal_setGregorianChange_52'
../libjs_static.a(Intl.o): In function `intl_FormatDateTime':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1935: undefined reference to `udat_format_52'
../libjs_static.a(Intl.o): In function `js::intl_FormatDateTime(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1991: undefined reference to `udat_close_52'
../libjs_static.a(Intl.o): In function `intl_FormatDateTime':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1940: undefined reference to `udat_format_52'
../libjs_static.a(Intl.o): In function `js::intl_numberingSystem(JSContext*, unsigned int, JS::Value*)':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1260: undefined reference to `icu_52::Locale::Locale(char const*, char const*, char const*, char const*)'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1262: undefined reference to `icu_52::NumberingSystem::createInstance(icu_52::Locale const&, UErrorCode&)'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1260: undefined reference to `icu_52::Locale::~Locale()'
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1267: undefined reference to `icu_52::NumberingSystem::getName() const'
../libjs_static.a(Intl.o): In function `collator_finalize':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:674: undefined reference to `ucol_close_52'
../libjs_static.a(Intl.o): In function `numberFormat_finalize':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1165: undefined reference to `unum_close_52'
../libjs_static.a(Intl.o): In function `dateTimeFormat_finalize':
/usr/src/comm-beta/mozilla/js/src/builtin/Intl.cpp:1621: undefined reference to `udat_close_52'
../libjs_static.a(jsapi.o): In function `JS_Init()':
/usr/src/comm-beta/mozilla/js/src/jsapi.cpp:573: undefined reference to `u_init_52'
../libjs_static.a(jsapi.o): In function `JS_ShutDown()':
/usr/src/comm-beta/mozilla/js/src/jsapi.cpp:602: undefined reference to `u_cleanup_52'
../libjs_static.a(jsapi.o): In function `JS_SetICUMemoryFunctions(void* (*)(void const*, unsigned int), void* (*)(void const*, void*, unsigned int), void (*)(void const*, void*))':
/usr/src/comm-beta/mozilla/js/src/jsapi.cpp:657: undefined reference to `u_setMemoryFunctions_52'
/usr/lib/gcc/i686-pc-linux-gnu/4.8.4/../../../../i686-pc-linux-gnu/bin/ld: js: hidden symbol `ucal_getType_52' isn't defined
/usr/lib/gcc/i686-pc-linux-gnu/4.8.4/../../../../i686-pc-linux-gnu/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[3]: *** [js] Error 1
make[3]: Leaving directory `/usr/src/comm-beta/thunderbird34-build/js/src/shell'
make[2]: *** [js/src/shell/target] Error 2
make[2]: Leaving directory `/usr/src/comm-beta/thunderbird34-build'
make[1]: *** [compile] Error 2
make[1]: Leaving directory `/usr/src/comm-beta/thunderbird34-build'
make: *** [default] Error 2
I added 'mk_add_options MOZ_MAKE_FLAGS=-j1' and re-built from scratch, but the error persists. Either this is not a race hazard problem, or that option had no effect.
Component: Untriaged → Build Config
Also occurs with firefox 37.0.1.
Component: Build Config → JavaScript Engine
Product: Thunderbird → Core
Version: 34 → 34 Branch
You need to log in before you can comment on or make changes to this bug.