Open Bug 971663 Opened 10 years ago Updated 2 years ago

Undefined references to libicu in js/src/ upon a clean build

Categories

(Firefox Build System :: General, defect)

x86_64
Linux
defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: pochu27, Unassigned)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

Steps to reproduce:

Doing a clean browser build from mozilla-central results in a build error inside js/src/ because of undefined references to libicu. After a build error, the subsequent `./mach build' command successfully finishes the build without any errors and the browser works fine. However after removing the obj dir and restarting a clean build with `./mach build', the build error happens again.

My .mozbuild file has:

mk_add_options MOZ_MAKE_FLAGS="-j5"
ac_add_options --enable-debug
ac_add_options --disable-optimize

This is building:

emilio@titan:~/src/mozilla/mozilla-central$ hg summary
parent: 168151:802d87c77e76 tip
 Merge b2g-inbound to m-c.


Actual results:

17:28.34 js
17:29.74 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 -DDEBUG -D_DEBUG -DTRACING -g -fno-omit-frame-pointer /home/emilio/src/mozilla/mozilla-central/obj-x86_64-unknown-linux-gnu/js/src/shell/tmpfsUGU2.list -lpthread -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -B ../build/unix/gold -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/home/emilio/src/mozilla/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/lib -L../../../dist/bin -L../../../dist/lib -L/home/emilio/src/mozilla/mozilla-central/obj-x86_64-unknown-linux-gnu/dist/lib -lnspr4 -lplc4 -lplds4 ../libjs_static.a -Wl,--whole-archive ../../../dist/lib/libmozglue.a ../../../dist/lib/libmemory.a -Wl,--no-whole-archive -rdynamic -lm -ldl
17:29.74 /home/emilio/src/mozilla/mozilla-central/obj-x86_64-unknown-linux-gnu/js/src/shell/tmpfsUGU2.list:
17:29.74     INPUT("Unified_cpp_js_src_shell0.o")
17:29.74     INPUT("../editline/Unified_c_js_src_editline0.o")
17:29.74     INPUT("../../../modules/zlib/src/adler32.o")
17:29.74     INPUT("../../../modules/zlib/src/compress.o")
17:29.74     INPUT("../../../modules/zlib/src/crc32.o")
17:29.74     INPUT("../../../modules/zlib/src/deflate.o")
17:29.74     INPUT("../../../modules/zlib/src/gzclose.o")
17:29.74     INPUT("../../../modules/zlib/src/gzlib.o")
17:29.74     INPUT("../../../modules/zlib/src/gzread.o")
17:29.74     INPUT("../../../modules/zlib/src/gzwrite.o")
17:29.74     INPUT("../../../modules/zlib/src/infback.o")
17:29.74     INPUT("../../../modules/zlib/src/inffast.o")
17:29.74     INPUT("../../../modules/zlib/src/inflate.o")
17:29.74     INPUT("../../../modules/zlib/src/inftrees.o")
17:29.74     INPUT("../../../modules/zlib/src/trees.o")
17:29.74     INPUT("../../../modules/zlib/src/uncompr.o")
17:29.74     INPUT("../../../modules/zlib/src/zutil.o")
17:29.74 
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:663: error: undefined reference to 'ucol_close_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:738: error: undefined reference to 'ucol_getAvailable_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:738: error: undefined reference to 'ucol_countAvailable_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:755: error: undefined reference to 'ucol_getKeywordValuesForLocale_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:760: error: undefined reference to 'uenum_close_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:762: error: undefined reference to 'uenum_count_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:774: error: undefined reference to 'uenum_next_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:924: error: undefined reference to 'ucol_open_52'
17:29.74 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:930: error: undefined reference to 'ucol_setAttribute_52'
[ ... lots of undefined references to libicu symbols ]
17:29.77 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:1912: error: undefined reference to 'udat_format_52'
17:29.77 /home/emilio/src/mozilla/mozilla-central/js/src/builtin/Intl.cpp:1967: error: undefined reference to 'udat_close_52'
17:29.77 /home/emilio/src/mozilla/mozilla-central/js/src/jsapi.cpp:591: error: undefined reference to 'u_init_52'
17:29.77 /home/emilio/src/mozilla/mozilla-central/js/src/jsapi.cpp:622: error: undefined reference to 'u_cleanup_52'
17:29.77 /home/emilio/src/mozilla/mozilla-central/js/src/jsapi.cpp:671: error: undefined reference to 'u_setMemoryFunctions_52'
17:29.77 collect2: error: ld returned 1 exit status
17:29.77 make[5]: *** [js] Error 1
17:29.77 make[4]: *** [js/src/shell/libs] Error 2
Component: General → Build Config
Can you attach a complete mach build -v log?
Attached file build.log
After removing obj-*, this is the log for the first "mach build -v". The first build always fails.
Attached file build2.log
Subsequent "mach build -v". All build attempts after the first one build fine.
I've just hit this while upgrading one of my old systems to 29.0. I worked around it by using system-icu (52.1 for me). That machine is also x86_64, and using gcc-4.7.1, binutils-2.22. I suspect it is a toolchain issue, otherwise more people would have seen it. My more recent systems have upgraded without this problem.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: