Build failure: undefined reference to 'unorm_normalize_52' and others

UNCONFIRMED
Unassigned

Status

()

Core
JavaScript Engine
UNCONFIRMED
3 years ago
3 years ago

People

(Reporter: Davin McCall, Unassigned)

Tracking

34 Branch
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
Created attachment 8554246 [details]
.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).
(Reporter)

Comment 1

3 years ago
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
(Reporter)

Comment 2

3 years ago
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.

Updated

3 years ago
Component: Untriaged → Build Config
(Reporter)

Comment 3

3 years ago
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.