Closed
Bug 1451372
Opened 6 years ago
Closed 6 years ago
32-Bit OS/X Build of Spidermonkey fails to find libatomic
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla61
Tracking | Status | |
---|---|---|
firefox61 | --- | fixed |
People
(Reporter: mgaudet, Assigned: bbouvier)
Details
Attachments
(1 file)
1.32 KB,
patch
|
froydnj
:
review+
mgaudet
:
feedback+
|
Details | Diff | Splinter Review |
STR: (tested revision ff0efa4132f0 ) 1. mkdir js/src/build_DBG.OBJ && cd js/src/build_DBG.OBJ && ../configure --disable-optimize --enable-debug --enable-warnings-as-errors --disable-tests --target=i386-apple-darwin16.7.0 # This last argument used to allow a 32-bit build on OS/X 2. make -jN Expected result: Build successfully. Actual result: Link error: libmozglue.dylib rm -f libmozglue.dylib /usr/bin/clang++ -std=gnu++14 --target=i386-darwin16.7.0 -Qunused-arguments -Qunused-arguments -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-common -stdlib=libc++ -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -fno-omit-frame-pointer -Werror -fPIC -o libmozglue.dylib -Wl,-filelist,/Users/mgaudet/mozilla-investigation/js/src/build_32_DBG.OBJ/mozglue/build/libmozglue_dylib.list -lobjc -framework ExceptionHandling -Wl,-bind_at_load -Wl,-executable_path,/Users/mgaudet/mozilla-investigation/js/src/build_32_DBG.OBJ/dist/bin -dynamiclib -install_name @executable_path/libmozglue.dylib -compatibility_version 1 -current_version 1 -single_module -lm -latomic ld: library not found for -latomic clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [libmozglue.dylib] Error 1 make[2]: *** [mozglue/build/target] Error 2 make[1]: *** [compile] Error 2 make: *** [default] Error 2 $ /usr/bin/clang++ --version Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin I've not bisected this.
Assignee | ||
Comment 2•6 years ago
|
||
Sorry about that and thank you for the report. Nathan, in the check I've touched [1], would it be enough to test for the "Linux" string here? We were testing for the "Android" string before, and I would expect that Android <= Linux, but maybe they're considered as different targets? Probably there's also a way to do an OR in this mysterious language... [1] https://searchfox.org/mozilla-central/diff/d8a712a705577a2db425c69dbf9395a19392feee/build/autoconf/toolchain.m4#101
Flags: needinfo?(bbouvier) → needinfo?(nfroyd)
Comment 3•6 years ago
|
||
(In reply to Benjamin Bouvier [:bbouvier] from comment #2) > Nathan, in the check I've touched [1], would it be enough to test for the > "Linux" string here? We were testing for the "Android" string before, and I > would expect that Android <= Linux, but maybe they're considered as > different targets? Probably there's also a way to do an OR in this > mysterious language... I think what would pick up Linux and Android would be to test "$OS_ARCH" = "Linux". We can test "$OS_TARGET" for Linux|Android, but I'd rather not get into too far into the weeds with `test` syntax. But I don't think we even support 32-bit OS X builds any more...certainly we've ripped out support for OS X versions that supported x86. I guess it would be nice to pre-emptively solve the case where we're cross-compiling mingw Windows builds with clang, though...
Flags: needinfo?(nfroyd)
Comment 4•6 years ago
|
||
JS engine devs still do 32-bit JS shell builds (x86 and ARM simulator) on OS X, so it would be great to keep that working :)
Assignee | ||
Comment 5•6 years ago
|
||
Matthiew, can you test this patch and let me know if it fixes the issue, please? Thanks! (still builds arm32/x86 with clang for me) https://treeherder.mozilla.org/#/jobs?repo=try&revision=9102bc47827e1254ebfd0d5a61ab7c60ec90d383
Reporter | ||
Comment 6•6 years ago
|
||
Comment on attachment 8965703 [details] [diff] [review] fix.patch Review of attachment 8965703 [details] [diff] [review]: ----------------------------------------------------------------- Works for me :D
Attachment #8965703 -
Flags: feedback?(mgaudet) → feedback+
Assignee | ||
Comment 7•6 years ago
|
||
Comment on attachment 8965703 [details] [diff] [review] fix.patch Review of attachment 8965703 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for testing Matthiew!
Attachment #8965703 -
Flags: review?(nfroyd)
Comment 8•6 years ago
|
||
Comment on attachment 8965703 [details] [diff] [review] fix.patch Review of attachment 8965703 [details] [diff] [review]: ----------------------------------------------------------------- Thanks! Sorry for the runaround. :(
Attachment #8965703 -
Flags: review?(nfroyd) → review+
Pushed by bbouvier@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/2af150038b3b Force libatomic only on 32-bits Linux clang builds; r=froydnj
Comment 10•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/2af150038b3b
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in
before you can comment on or make changes to this bug.
Description
•