Open Bug 1414871 Opened 2 years ago Updated 23 days ago

Link error with Rust bindings to js

Categories

(Core :: JavaScript Engine, defect, P3)

defect

Tracking

()

Tracking Status
firefox58 --- affected

People

(Reporter: Alex_Gaynor, Unassigned)

Details

Attachments

(1 file)

Given a Cargo.toml with:

[dependencies.js]
path = "/Users/agaynor/projects/mozilla-central/js/rust/"


I end up with the following linkage error:

   Compiling grammarfuzz-fuzz v0.0.1 (file:///Users/agaynor/projects/grammarfuzz/fuzz)
     Running `rustc --crate-name fuzz_sm fuzz/fuzz_targets/fuzz_sm.rs --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=841d0b456c43a790 -C extra-filename=-841d0b456c43a790 --out-dir /Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps --target x86_64-apple-darwin -L dependency=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps -L dependency=/Users/agaynor/projects/grammarfuzz/fuzz/target/debug/deps --extern js=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libjs-8b07ed6164daf4a8.rlib --extern libfuzzer_sys=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblibfuzzer_sys-d9b2775ebd52ac61.rlib --extern grammarfuzz=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libgrammarfuzz-dec52a10d027ca67.rlib --cfg fuzzing -Cpasses=sancov -Cllvm-args=-sanitizer-coverage-level=3 -Zsanitizer=address -Cpanic=abort -L native=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/js-a68d9372fc554480/out/lib -L native=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/js/src/build -L native=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/js/src -L native=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/dist/bin -L native=/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/libfuzzer-sys-53bbf19ab97f5a95/out`
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm0.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm1.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm10.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm11.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm12.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm13.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm14.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm15.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm2.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm3.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm4.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm5.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm6.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm7.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm8.rcgu.o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.fuzz_sm9.rcgu.o" "-o" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/fuzz_sm-841d0b456c43a790.crate.allocator.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/debug/deps" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/js-a68d9372fc554480/out/lib" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/js/src/build" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/js/src" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/mozjs_sys-35461dbc8f3781c5/out/dist/bin" "-L" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/build/libfuzzer-sys-53bbf19ab97f5a95/out" "-L" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblibfuzzer_sys-d9b2775ebd52ac61.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libgrammarfuzz-dec52a10d027ca67.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libregex-38d5bac807274107.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libutf8_ranges-e76e17828786985a.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libregex_syntax-483bdafaed24acec.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libbyteorder-4035ffa00fe67000.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libaho_corasick-d3f46f5596240fcd.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libmemchr-6440d0de32588ac0.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libthread_local-a787503fe743693e.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libunreachable-25a258aaa5b684b9.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libvoid-82269ba8ac66e5c2.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libjs-8b07ed6164daf4a8.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libnum_traits-bec99cdde362ed3e.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblog-d2f0e0324b4d3fb2.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblazy_static-a1f9a7c007f6b391.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libheapsize-826bb4e82ce71092.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/libmozjs_sys-188fddfbdd00f44e.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblibz_sys-a50a947393fbbb22.rlib" "/Users/agaynor/projects/grammarfuzz/fuzz/target/x86_64-apple-darwin/debug/deps/liblibc-24cb5328655df6a9.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-814f660696937906.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_abort-e6dc4ef758fe6d22.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-0f9b083550bd0551.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librand-ca777676d624d6d1.rlib" "-Wl,-rpath" "-Xlinker" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-force_load,/var/folders/21/3kp8v0nx0ds4xpp12th8vydh0000gn/T/rustc.HIemIzYGKb4J/librustc_asan-7942843d120c2108.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_system-506d323c9b60d6a1.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-aaeedb7b30aa79a6.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-2a57fb78e435f2b4.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_unicode-b10c51dffef367ee.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-1a95995029ae0616.rlib" "/Users/agaynor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-996c4b46431fdb21.rlib" "-l" "c++" "-l" "nspr4" "-l" "stdc++" "-l" "z" "-l" "System" "-l" "resolv" "-l" "pthread" "-l" "clang_rt.asan_osx_dynamic" "-l" "c" "-l" "m"
  = note: Undefined symbols for architecture x86_64:
            "mozilla::SHA1Sum::finish(unsigned char (&) [20])", referenced from:
                js::wasm::ModuleGenerator::finishMetadata(js::wasm::ShareableBytes const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
            "mozilla::Compression::LZ4::decompress(char const*, char*, unsigned long)", referenced from:
                js::CompileAsmJS(JSContext*, js::frontend::Parser<js::frontend::FullParseHandler, char16_t>&, js::frontend::ParseNode*, bool*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src39.o)
            "mozilla::BaseTimeDurationPlatformUtils::TicksFromMilliseconds(double)", referenced from:
                js::gcstats::Statistics::formatDetailedDescription() const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::formatDetailedPhaseTimes(mozilla::EnumeratedArray<js::gcstats::Phase, (js::gcstats::Phase)105, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> > const&) const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::Statistics(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::endGC() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::Nursery::init(unsigned int, js::AutoLockGCBgAlloc&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src5.o)
                js::atomics_wait(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src0.o)
                js::FutexThread::wait(JSContext*, js::LockGuard<js::Mutex>&, mozilla::Maybe<mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> >&, js::FutexThread::WaitResult*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src0.o)
                ...
            "mozilla::detail::ConditionVariableImpl::~ConditionVariableImpl()", referenced from:
                js::GlobalHelperThreadState::~GlobalHelperThreadState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::gc::GCRuntime::~GCRuntime() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src35.o)
                js::FutexThread::destroyInstance() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src0.o)
                js::OffThreadPromiseRuntimeState::~OffThreadPromiseRuntimeState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src1.o)
                js::wasm::ModuleGenerator::~ModuleGenerator() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                CompileStreamTask::~CompileStreamTask() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                js::wasm::Module::~Module() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src42.o)
                ...
            "mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)", referenced from:
                js::gc::GCRuntime::finish() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::GCHelperState::waitBackgroundSweepEnd() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::gc::GCRuntime::resetIncrementalGC(js::gc::AbortReason, js::AutoLockForExclusiveAccess&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::gc::GCRuntime::incrementalCollectSlice(js::SliceBudget&, JS::gcreason::Reason, js::AutoLockForExclusiveAccess&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::FutexThread::wait(JSContext*, js::LockGuard<js::Mutex>&, mozilla::Maybe<mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> >&, js::FutexThread::WaitResult*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src0.o)
                js::OffThreadPromiseRuntimeState::shutdown(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src1.o)
                js::wasm::ModuleGenerator::~ModuleGenerator() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                ...
            "mozilla::HashBytes(void const*, unsigned long)", referenced from:
                JSScript::shareScriptData(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::jit::CacheIRStubKey::hash(js::jit::CacheIRStubKey::Lookup const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src11.o)
                js::jit::MacroAssemblerX86Shared::SimdData* js::jit::MacroAssemblerX86Shared::getConstant<js::jit::MacroAssemblerX86Shared::SimdData, js::HashMap<js::jit::SimdConstant, unsigned long, js::jit::SimdConstant, js::SystemAllocPolicy> >(js::jit::MacroAssemblerX86Shared::SimdData::Pod const&, js::HashMap<js::jit::SimdConstant, unsigned long, js::jit::SimdConstant, js::SystemAllocPolicy>&, mozilla::Vector<js::jit::MacroAssemblerX86Shared::SimdData, 0ul, js::SystemAllocPolicy>&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src23.o)
            "mozilla::BaseTimeDurationPlatformUtils::ToSeconds(long long)", referenced from:
                js::gcstats::Statistics::formatDetailedDescription() const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::formatDetailedSliceDescription(unsigned int, js::gcstats::Statistics::SliceData const&) const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::formatDetailedPhaseTimes(mozilla::EnumeratedArray<js::gcstats::Phase, (js::gcstats::Phase)105, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> > const&) const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::formatDetailedTotals() const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::printStats() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::endGC() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::endSlice() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                ...
            "mozilla::detail::MutexImpl::~MutexImpl()", referenced from:
                js::GlobalHelperThreadState::~GlobalHelperThreadState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::Thread::~Thread() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src29.o)
                js::ExclusiveData<js::SharedImmutableStringsCache::Inner>::~ExclusiveData() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src36.o)
                js::InitDateTimeState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src31.o)
                js::FinishDateTimeState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src31.o)
                JSRuntime::~JSRuntime() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src35.o)
                js::gc::GCRuntime::~GCRuntime() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src35.o)
                ...
            "mozilla::Compression::LZ4::compress(char const*, unsigned long, char*)", referenced from:
                js::CompileAsmJS(JSContext*, js::frontend::Parser<js::frontend::FullParseHandler, char16_t>&, js::frontend::ParseNode*, bool*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src39.o)
            "mozilla::PrintfTarget::PrintfTarget()", referenced from:
                JS_smprintf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                mozilla::UniquePtr<char, mozilla::detail::AllocPolicyBasedFreePolicy<js::SystemAllocPolicy> > mozilla::VsmprintfAppend<js::SystemAllocPolicy>(mozilla::UniquePtr<char, mozilla::detail::AllocPolicyBasedFreePolicy<js::SystemAllocPolicy> >&&, char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JS_vsmprintf(char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::GenericPrinter::printf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
                js::GenericPrinter::vprintf(char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
                js::Sprinter::jsprintf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
            "double_conversion::DoubleToStringConverter::EcmaScriptConverter()", referenced from:
                js::NumberToCString(JSContext*, js::ToCStringBuf*, double, int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JSString* NumberToStringWithBase<(js::AllowGC)1>(JSContext*, double, int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JSString* js::NumberToString<(js::AllowGC)0>(JSContext*, double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::NumberToAtom(JSContext*, double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::NumberValueToStringBuffer(JSContext*, JS::Value const&, js::StringBuffer&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                num_toFixed(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                num_toExponential(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                ...
            "mozilla::TimeStamp::ProcessCreation(bool*)", referenced from:
                JS::detail::InitWithFailureDiagnostic(bool) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src33.o)
                js::gcstats::Statistics::printStats() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                PromiseDebugInfo::setResolutionInfo(JSContext*, JS::Handle<js::PromiseObject*>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src1.o)
                PromiseDebugInfo::create(JSContext*, JS::Handle<js::PromiseObject*>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src1.o)
            "mozilla::IsFloat32Representable(double)", referenced from:
                js::jit::MConstant::canProduceFloat32() const in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src16.o)
                js::jit::MWasmUnsignedToFloat32::foldsTo(js::jit::TempAllocator&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src16.o)
            "mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)", referenced from:
                CancelOffThreadWasmTier2GeneratorLocked(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                CancelOffThreadIonCompileLocked(mozilla::Variant<JSScript*, JSCompartment*, js::ZonesInState, JSRuntime*, js::CompilationsUsingNursery, js::AllCompilations> const&, bool, js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::CancelOffThreadParses(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::joinWithLockHeld(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::join() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::HelperThread::threadLoop() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::CancelOffThreadCompressions(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                ...
            "mozilla::TimeStamp::Now(bool)", referenced from:
                js::GCParallelTask::runFromActiveCooperatingThread(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::runFromHelperThread(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::gcstats::Statistics::beginSlice(js::gcstats::ZoneGCStats const&, JSGCInvocationKind, js::SliceBudget, JS::gcreason::Reason) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::endSlice() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::beginPhase(js::gcstats::PhaseKind) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::endPhase(js::gcstats::PhaseKind) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                js::gcstats::Statistics::suspendPhases(js::gcstats::PhaseKind) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src6.o)
                ...
            "mozilla::detail::ConditionVariableImpl::notify_all()", referenced from:
                js::EnqueuePendingParseTasksAfterGC(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GlobalHelperThreadState::notifyAll(js::GlobalHelperThreadState::CondVar, js::AutoLockHelperThreadState const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GlobalHelperThreadState::finishThreads() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::runFromHelperThread(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::HelperThread::threadLoop() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::HelperThread::handleWasmTier2GeneratorWorkload(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::HelperThread::handleIonWorkload(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                ...
            "mozilla::detail::MutexImpl::MutexImpl()", referenced from:
                js::GeckoProfilerRuntime::GeckoProfilerRuntime(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::CreateHelperThreadsState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GlobalHelperThreadState::ensureInitialized() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::Thread::Thread(js::Thread&&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src29.o)
                js::gc::GCRuntime::GCRuntime(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::InitDateTimeState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src31.o)
                JSRuntime::JSRuntime(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src35.o)
                ...
            "mozilla::SHA1Sum::update(void const*, unsigned int)", referenced from:
                js::wasm::ModuleGenerator::finishMetadata(js::wasm::ShareableBytes const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
            "double_conversion::DoubleToStringConverter::ToShortestIeeeNumber(double, double_conversion::StringBuilder*, double_conversion::DoubleToStringConverter::DtoaMode) const", referenced from:
                js::NumberToCString(JSContext*, js::ToCStringBuf*, double, int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JSString* NumberToStringWithBase<(js::AllowGC)1>(JSContext*, double, int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JSString* js::NumberToString<(js::AllowGC)0>(JSContext*, double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::NumberToAtom(JSContext*, double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::NumberValueToStringBuffer(JSContext*, JS::Value const&, js::StringBuffer&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                num_toFixed(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                num_toExponential(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                ...
            "mozilla::detail::ConditionVariableImpl::ConditionVariableImpl()", referenced from:
                js::CreateHelperThreadsState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::gc::GCRuntime::GCRuntime(JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src25.o)
                js::FutexThread::initInstance() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src0.o)
                js::OffThreadPromiseRuntimeState::OffThreadPromiseRuntimeState() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src1.o)
                js::wasm::ModuleGenerator::ModuleGenerator(js::wasm::CompileArgs const&, js::wasm::ModuleEnvironment*, mozilla::Atomic<bool, (mozilla::MemoryOrdering)2, void> const*, mozilla::UniquePtr<char [], JS::FreePolicy>*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                ResolveResponse_OnFulfilled(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                js::wasm::Module::Module(js::wasm::Assumptions&&, js::wasm::Code const&, mozilla::UniquePtr<mozilla::Vector<unsigned char, 0ul, js::SystemAllocPolicy> const, JS::DeletePolicy<mozilla::Vector<unsigned char, 0ul, js::SystemAllocPolicy> const> >, js::wasm::LinkData&&, mozilla::Vector<js::wasm::Import, 0ul, js::SystemAllocPolicy>&&, mozilla::Vector<js::wasm::Export, 0ul, js::SystemAllocPolicy>&&, mozilla::Vector<js::wasm::DataSegment, 0ul, js::SystemAllocPolicy>&&, mozilla::Vector<js::wasm::ElemSegment, 0ul, js::SystemAllocPolicy>&&, js::wasm::ShareableBytes const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
                ...
            "_MOZ_CrashPrintf", referenced from:
                js::ReportMagicWordFailure(unsigned long, unsigned long) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src37.o)
                js::ReportMagicWordFailure(unsigned long, unsigned long, unsigned long, unsigned long) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src37.o)
                js::Scope::clone(JSContext*, JS::Handle<js::Scope*>, JS::Handle<js::Scope*>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src35.o)
            "mozilla::SHA1Sum::SHA1Sum()", referenced from:
                js::wasm::ModuleGenerator::finishMetadata(js::wasm::ShareableBytes const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src41.o)
            "mozilla::detail::MutexImpl::lock()", referenced from:
                JS_SetGCParameter(JSContext*, JSGCParamKey, unsigned int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JSRuntime::createJitRuntime(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::DateObject::fillLocalTimeSlots() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::DateConstructor(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                DaylightSavingTA(double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                FormatDate(JSContext*, double, FormatSpec, JS::MutableHandle<JS::Value>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                ParseDate(JSLinearString*, JS::ClippedTime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                ...
            "mozilla::detail::ConditionVariableImpl::notify_one()", referenced from:
                js::StartOffThreadWasmCompile(js::wasm::CompileTask*, js::wasm::CompileMode) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::StartOffThreadWasmTier2Generator(mozilla::UniquePtr<js::wasm::Tier2GeneratorTask, JS::DeletePolicy<js::wasm::Tier2GeneratorTask> >) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::StartOffThreadIonCompile(JSContext*, js::jit::IonBuilder*, js::AutoLockHelperThreadState const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::StartOffThreadIonFree(js::jit::IonBuilder*, js::AutoLockHelperThreadState const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GlobalHelperThreadState::startHandlingCompressionTasks(js::AutoLockHelperThreadState const&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::startWithLockHeld(js::AutoLockHelperThreadState&) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                js::GCParallelTask::start() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src32.o)
                ...
            "mozilla::PrintfTarget::vprint(char const*, __va_list_tag*)", referenced from:
                JS_smprintf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                mozilla::UniquePtr<char, mozilla::detail::AllocPolicyBasedFreePolicy<js::SystemAllocPolicy> > mozilla::VsmprintfAppend<js::SystemAllocPolicy>(mozilla::UniquePtr<char, mozilla::detail::AllocPolicyBasedFreePolicy<js::SystemAllocPolicy> >&&, char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                JS_vsmprintf(char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src26.o)
                js::GenericPrinter::printf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
                js::GenericPrinter::vprintf(char const*, __va_list_tag*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
                js::Sprinter::jsprintf(char const*, ...) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src34.o)
            "mozilla::detail::MutexImpl::unlock()", referenced from:
                JS_SetGCParameter(JSContext*, JSGCParamKey, unsigned int) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JSRuntime::createJitRuntime(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::DateObject::fillLocalTimeSlots() in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::DateConstructor(JSContext*, unsigned int, JS::Value*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                DaylightSavingTA(double) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                FormatDate(JSContext*, double, FormatSpec, JS::MutableHandle<JS::Value>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                ParseDate(JSLinearString*, JS::ClippedTime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                ...
            "_gMozCrashReason", referenced from:
                JS::ObjectOpResult::reportStrictErrorOrWarning(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, bool) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JS::ObjectOpResult::reportStrictErrorOrWarning(JSContext*, JS::Handle<JSObject*>, bool) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::NewContext(unsigned int, unsigned int, JSRuntime*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                js::DestroyContext(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JS::InitSelfHostedCode(JSContext*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JSCompartment::wrap(JSContext*, JS::MutableHandle<JS::Value>) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                JS_ResolveStandardClass(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, bool*) in libmozjs_sys-188fddfbdd00f44e.rlib(Unified_cpp_js_src24.o)
                ...
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: aborting due to previous error

At a guess, the problem seems to be that the js package doesn't express all the needed linkages in build.rs.
Flags: needinfo?(nfitzgerald)
Thanks for bringing this to my attention.

All these symbols look like mozglue things... which we have traditionally had linking trouble with.

Do you see the same kinds of linking errors when using `mozjs` from crates.io? https://crates.io/crates/mozjs

And how about with

```
[dependencies.js]
branch = "smup-smup-smup"
git = "https://github.com/fitzgen/mozjs"
```

?
Flags: needinfo?(nfitzgerald) → needinfo?(agaynor)
I didn't try the one from crates.io, but the one from github worked ok:

[dependencies.js]
git = "https://github.com/servo/rust-mozjs"
Flags: needinfo?(agaynor)
Err, misread your comment, testing with the smup branch now.
Flags: needinfo?(agaynor)
That should be the same as published on crates.io, which are both SM 50.

The smup-smup-smup branch should be something like 57, IIRC.

I'm wondering whether the bug is particular to your setup or if something has broken recently on tip.
Ok, with the smup branch it fails to compile with errors like:

/Users/agaynor/.cargo/git/checkouts/mozjs-f94f19fa8f916dc5/d6de4a6/mozjs/memory/build/malloc_decls.h:48:1: error: no member named 'malloc' in the global namespace; did you mean simply 'malloc'?
MALLOC_DECL(malloc, void *, size_t)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/agaynor/.cargo/git/checkouts/mozjs-f94f19fa8f916dc5/d6de4a6/mozjs/memory/build/fallback.cpp:15:12: note: expanded from macro 'MALLOC_DECL'
    return ::name(ARGS_HELPER(ARGS, ##__VA_ARGS__)); \
           ^~
/Users/agaynor/.cargo/git/checkouts/mozjs-f94f19fa8f916dc5/d6de4a6/mozjs/memory/build/malloc_decls.h:48:13: note: 'malloc' declared here
MALLOC_DECL(malloc, void *, size_t)
            ^
Assignee: nobody → agaynor
Flags: needinfo?(agaynor)
Comment on attachment 8927440 [details]
Bug 1414871 - when linking the rust JS bindings, include libmozglue;

https://reviewboard.mozilla.org/r/198768/#review203866

Thanks for digging into this!
Attachment #8927440 - Flags: review?(nfitzgerald) → review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/cfce78c33f60
when linking the rust JS bindings, include libmozglue; r=fitzgen
Keywords: checkin-needed
Backed out for breaking spidermonkey rust bustage:

https://hg.mozilla.org/integration/autoland/rev/63da694494112e28734795b014478ab919db6f0f

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=cfce78c33f60e67a6c2068002e38721047eb3ba8&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=usercancel&filter-resultStatus=runnable&filter-resultStatus=retry
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=143863407&repo=autoland

[task 2017-11-10T22:26:31.979Z]   = note: /builds/worker/workspace/gcc/bin/ld: cannot find -lmozglue
[task 2017-11-10T22:26:31.979Z]           collect2: ld returned 1 exit status
[task 2017-11-10T22:26:31.979Z]           
[task 2017-11-10T22:26:31.979Z] 
[task 2017-11-10T22:26:31.979Z] error: aborting due to previous error
[task 2017-11-10T22:26:31.979Z] 
[task 2017-11-10T22:26:32.135Z] error: Could not compile `js`.
[task 2017-11-10T22:26:32.135Z] 
[task 2017-11-10T22:26:32.135Z] Caused by:
[task 2017-11-10T22:26:32.135Z]   process didn't exit successfully: `rustc --crate-name js src/lib.rs --emit=dep-info,link -C debuginfo=2 --test --cfg feature="debugmozjs" --cfg feature="mozjs_sys" -C metadata=36773f26c10de2e1 -C extra-filename=-36773f26c10de2e1 --out-dir /builds/worker/workspace/build/src/js/rust/target/debug/deps -L dependency=/builds/worker/workspace/build/src/js/rust/target/debug/deps --extern log=/builds/worker/workspace/build/src/js/rust/target/debug/deps/liblog-76d0e5da518c9890.rlib --extern heapsize=/builds/worker/workspace/build/src/js/rust/target/debug/deps/libheapsize-ce49152694a3efc3.rlib --extern num_traits=/builds/worker/workspace/build/src/js/rust/target/debug/deps/libnum_traits-19abd55315fbb2db.rlib --extern mozjs_sys=/builds/worker/workspace/build/src/js/rust/target/debug/deps/libmozjs_sys-de8fd039e10b1f6c.rlib --extern lazy_static=/builds/worker/workspace/build/src/js/rust/target/debug/deps/liblazy_static-969e3e417bd95ca2.rlib --extern libc=/builds/worker/workspace/build/src/js/rust/target/debug/deps/liblibc-be4071a55b083599.rlib -L native=/builds/worker/workspace/build/src/js/rust/target/debug/build/js-b6a5233c4ded0d23/out/lib -l static=jsglue -L native=/builds/worker/workspace/build/src/js/rust/target/debug/build/mozjs_sys-59b00b80e3fc8445/out/js/src/build -L native=/builds/worker/workspace/build/src/js/rust/target/debug/build/mozjs_sys-59b00b80e3fc8445/out/js/src -L native=/builds/worker/workspace/build/src/js/rust/target/debug/build/mozjs_sys-59b00b80e3fc8445/out/dist/bin -L native=/usr/lib64` (exit code: 101)
Flags: needinfo?(agaynor)
Priority: -- → P3
Do you understand what's happening here? It looks like the build that occurs in CI is somehow substantially different from what I see locally; since ATM CI builds and links ok, but doesn't have a distinct mozglue.

Could this be an OS/toolchain based difference?
Flags: needinfo?(nfitzgerald)
Are you also running Linux, like that taskcluster job is?

Depending on the OS, mozglue gets compiled either dynamically or statically. I suspect this new link command just needs to be in some appropriate OS-specific branch.
Flags: needinfo?(nfitzgerald)
My original errors were on macOS.
Flags: needinfo?(agaynor)
Flags: needinfo?(nfitzgerald)
Assignee: agaynor → nobody

Not sure what's up here or if it is still happening. In any case, someone who is working on Servo and SpiderMonkey these days might be a better person to ping.

Flags: needinfo?(nfitzgerald)
You need to log in before you can comment on or make changes to this bug.