Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xplat(?): Undefined symbols for architecture x86_64 on OS X when building/linking to Rust #2284

Closed
Fishrock123 opened this issue Dec 23, 2016 · 5 comments
Labels

Comments

@Fishrock123
Copy link
Contributor

Fishrock123 commented Dec 23, 2016

I'm finally back again, lol

I'm trying to get my nucleus-js project built again with Chakra and Rust and I'm encountering some internal(?) symbol errors, which only occur when building with / linking to Rust.

= note: Undefined symbols for architecture x86_64:
  "___cxa_call_unexpected", referenced from:
      Memory::LargeHeapBlock::RescanOnePage(Memory::Recycler*) in libChakra.Jsrt.a(LargeHeapBlock.cpp.o)
"___cxa_free_exception", referenced from:
      TTD::NSLogEvents::HostProcessExitAction_Execute(TTD::NSLogEvents::EventLogEntry const*, TTD::ThreadContextTTD*) in libChakra.Jsrt.a(TTActionEvents.cpp.o)
"vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
      typeinfo for ThreadContext in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for UCrtC99MathApis in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for JsrtDebugManager in libChakra.Jsrt.a(JsrtDebugManager.cpp.o)
      typeinfo for Js::SynchronizableList<Memory::RecyclerWeakReference<Js::FunctionEntryPointInfo>*, JsUtil::List<Memory::RecyclerWeakReference<Js::FunctionEntryPointInfo>*, Memory::Recycler, false, Js::CopyRemovePolicy, DefaultComparer>, Js::DefaultContainerLockPolicy, CriticalSection> in libChakra.Jsrt.a(FunctionBody.cpp.o)
"___cxa_allocate_exception", referenced from:
      ThreadContext::ProbeStackNoDispose(unsigned long, Js::ScriptContext*, void*) in libChakra.Jsrt.a(ThreadContext.cpp.o)
___cxa_pure_virtual", referenced from:
      vtable for JsrtContext in libChakra.Jsrt.a(JsrtContext.cpp.o)
"___cxa_guard_acquire", referenced from:
      VALIDATE_ENTER_CURRENT_THREAD() in libChakra.Jsrt.a(JsrtHelper.cpp.o)
 "std::terminate()", referenced from:
      ___clang_call_terminate in libChakra.Jsrt.a(Jsrt.cpp.o)

... and more.

Full Log
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/nucleus.0.o" "-o" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/nucleus" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps" "-L" "deps/ChakraCore/BuildLinux/Test/lib/../pal/src/" "-L" "deps/ChakraCore/BuildLinux/Test/lib/Common/Core/" "-L" "deps/ChakraCore/BuildLinux/Test/lib/Jsrt/" "-L" "/usr/local/opt/icu4c/lib/" "-L" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/build/miniz-sys-60c8d67696f63a43/out" "-L" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/build/bzip2-sys-b768200d1597b521/out" "-L" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-l" "Chakra.Pal" "-l" "Chakra.Common.Core" "-l" "Chakra.Jsrt" "-l" "icudata" "-l" "icuuc" "-l" "icui18n" "-framework" "CoreFoundation" "-framework" "Security" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libzip-f664d58aaa6ae306.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libmsdos_time-32259590e9e43bd0.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libflate2-d719035eaa7c6a88.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libpodio-8ee06ac339b6efd9.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libbzip2-d5b99b9abc5b3496.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libgetopts-33691dbdf8852281.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libminiz_sys-722889de4af2439c.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libbzip2_sys-9803f2abe4d1d42f.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/libtime-750bfdd52feafcb7.rlib" "/Users/Jeremiah/Documents/nucleus-chakra/target/debug/deps/liblibc-1bd8847afb79f283.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librand-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcollections-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-f5a209a9.rlib" "/Users/Jeremiah/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-f5a209a9.rlib" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m"
  = note: Undefined symbols for architecture x86_64:
  "___cxa_call_unexpected", referenced from:
      Memory::LargeHeapBlock::RescanOnePage(Memory::Recycler*) in libChakra.Jsrt.a(LargeHeapBlock.cpp.o)
      Memory::LargeHeapBlock::RescanMultiPage(Memory::Recycler*) in libChakra.Jsrt.a(LargeHeapBlock.cpp.o)
      Memory::SmallNormalHeapBlockT<SmallAllocationBlockAttributes>::RescanObject(Memory::SmallNormalHeapBlockT<SmallAllocationBlockAttributes>*, char*, unsigned int, unsigned int, Memory::Recycler*) in libChakra.Jsrt.a(SmallNormalHeapBlock.cpp.o)
      Memory::SmallNormalHeapBlockT<MediumAllocationBlockAttributes>::RescanObject(Memory::SmallNormalHeapBlockT<MediumAllocationBlockAttributes>*, char*, unsigned int, unsigned int, Memory::Recycler*) in libChakra.Jsrt.a(SmallNormalHeapBlock.cpp.o)
      Memory::SmallNormalHeapBucketBase<Memory::SmallNormalHeapBlockT<SmallAllocationBlockAttributes> >::RescanObjectsOnPage(Memory::SmallNormalHeapBlockT<SmallAllocationBlockAttributes>*, char*, char*, BVStatic<1024ul>*, unsigned int, unsigned int, bool*, Memory::Recycler*) in libChakra.Jsrt.a(SmallNormalHeapBucket.cpp.o)
      Memory::SmallNormalHeapBucketBase<Memory::SmallNormalHeapBlockT<MediumAllocationBlockAttributes> >::RescanObjectsOnPage(Memory::SmallNormalHeapBlockT<MediumAllocationBlockAttributes>*, char*, char*, BVStatic<2048ul>*, unsigned int, unsigned int, bool*, Memory::Recycler*) in libChakra.Jsrt.a(SmallNormalHeapBucket.cpp.o)
      Memory::SmallNormalHeapBucketBase<Memory::SmallFinalizableHeapBlockT<SmallAllocationBlockAttributes> >::RescanObjectsOnPage(Memory::SmallFinalizableHeapBlockT<SmallAllocationBlockAttributes>*, char*, char*, BVStatic<1024ul>*, unsigned int, unsigned int, bool*, Memory::Recycler*) in libChakra.Jsrt.a(SmallNormalHeapBucket.cpp.o)
      ...
  "___cxa_free_exception", referenced from:
      TTD::NSLogEvents::HostProcessExitAction_Execute(TTD::NSLogEvents::EventLogEntry const*, TTD::ThreadContextTTD*) in libChakra.Jsrt.a(TTActionEvents.cpp.o)
      TTD::NSLogEvents::JsRTCallFunctionAction_Execute(TTD::NSLogEvents::EventLogEntry const*, TTD::ThreadContextTTD*) in libChakra.Jsrt.a(TTActionEvents.cpp.o)
      TTD::EventLog::AbortReplayReturnToHost() in libChakra.Jsrt.a(TTEventLog.cpp.o)
      TTD::EventLog::ProcessBPInfoPostBreak(Js::FunctionBody*) in libChakra.Jsrt.a(TTEventLog.cpp.o)
      Js::AsmJSByteCodeGenerator::EmitTopLevelStatement(ParseNode*) in libChakra.Jsrt.a(AsmJsByteCodeGenerator.cpp.o)
      Js::AsmJSByteCodeGenerator::Emit(ParseNode*) in libChakra.Jsrt.a(AsmJsByteCodeGenerator.cpp.o)
      Js::AsmJSByteCodeGenerator::EmitReturn(ParseNode*) in libChakra.Jsrt.a(AsmJsByteCodeGenerator.cpp.o)
      ...
  "vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
      typeinfo for ThreadContext in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for UCrtC99MathApis in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for JsrtDebugManager in libChakra.Jsrt.a(JsrtDebugManager.cpp.o)
      typeinfo for Js::SynchronizableList<Memory::RecyclerWeakReference<Js::FunctionEntryPointInfo>*, JsUtil::List<Memory::RecyclerWeakReference<Js::FunctionEntryPointInfo>*, Memory::Recycler, false, Js::CopyRemovePolicy, DefaultComparer>, Js::DefaultContainerLockPolicy, CriticalSection> in libChakra.Jsrt.a(FunctionBody.cpp.o)
      typeinfo for Js::SynchronizableList<Js::LoopEntryPointInfo*, JsUtil::List<Js::LoopEntryPointInfo*, Memory::Recycler, false, Js::CopyRemovePolicy, DefaultComparer>, Js::DefaultContainerLockPolicy, CriticalSection> in libChakra.Jsrt.a(FunctionBody.cpp.o)
      typeinfo for Js::ScriptContext in libChakra.Jsrt.a(ScriptContext.cpp.o)
      typeinfo for JsUtil::BaseDictionary<unsigned long, Memory::RecyclerWeakReference<Js::DynamicType>*, Memory::RecyclerNonLeafAllocator, DictionarySizePolicy<PowerOf2Policy, 1u, 2u, 1u, 4u>, DefaultComparer, JsUtil::WeakRefValueDictionaryEntry, JsUtil::NoResizeLock> in libChakra.Jsrt.a(JavascriptLibrary.cpp.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___cxa_allocate_exception", referenced from:
      ThreadContext::ProbeStackNoDispose(unsigned long, Js::ScriptContext*, void*) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::ProbeStack(unsigned long, Js::RecyclableObject*, Js::ScriptContext*) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::ExecuteRecyclerCollectionFunction(Memory::Recycler*, int (Memory::Recycler::*)(Memory::CollectionFlags), Memory::CollectionFlags) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::CheckScriptInterrupt() in libChakra.Jsrt.a(ThreadContext.cpp.o)
      Js::ParseableFunctionInfo::Parse(Js::ScriptFunction**, bool) in libChakra.Jsrt.a(FunctionBody.cpp.o)
      Js::EnterScriptObject::VerifyEnterScript() in libChakra.Jsrt.a(LeaveScriptObject.cpp.o)
      Js::JavascriptFunction::CallRootFunctionInternal(Js::Arguments, Js::ScriptContext*, bool) in libChakra.Jsrt.a(JavascriptFunction.cpp.o)
      ...
  "___cxa_pure_virtual", referenced from:
      vtable for JsrtContext in libChakra.Jsrt.a(JsrtContext.cpp.o)
      vtable for Js::ArrayBuffer in libChakra.Jsrt.a(ArrayBuffer.cpp.o)
      vtable for Js::ArrayBufferParent in libChakra.Jsrt.a(ArrayBuffer.cpp.o)
      vtable for ThreadContextInfo in libChakra.Jsrt.a(ThreadContextInfo.cpp.o)
      vtable for ExpirableObject in libChakra.Jsrt.a(ExpirableObject.cpp.o)
      vtable for DelayLoadLibrary in libChakra.Common.Core.a(DelayLoadLibrary.cpp.o)
      vtable for JsrtDebuggerObjectBase in libChakra.Jsrt.a(JsrtDebuggerObject.cpp.o)
      ...
  "___cxa_guard_acquire", referenced from:
      VALIDATE_ENTER_CURRENT_THREAD() in libChakra.Jsrt.a(JsrtHelper.cpp.o)
      ConfigParser::ProcessConfiguration(void*) in libChakra.Common.Core.a(ConfigParser.cpp.o)
      _rand_s in libChakra.Pal.a(random.cpp.o)
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for Js::OutOfMemoryException in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for Js::StackOverflowException in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for JsrtExceptionBase in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for Js::JavascriptException in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for Js::ScriptAbortException in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for Js::EvalDisabledException in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for Js::ISourceHolder in libChakra.Jsrt.a(Jsrt.cpp.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "std::terminate()", referenced from:
      ___clang_call_terminate in libChakra.Jsrt.a(Jsrt.cpp.o)
  "___cxa_end_catch", referenced from:
      CreateRuntimeCore(_JsRuntimeAttributes, unsigned char const*, unsigned long, bool, bool, bool, unsigned int, unsigned int, void (*)(unsigned long, unsigned char const*), void* (*)(unsigned long, unsigned char const*, char const*, bool, bool, unsigned char**, unsigned long*), bool (*)(void*, unsigned char*, unsigned long, unsigned long*), bool (*)(void*, unsigned char const*, unsigned long, unsigned long*), void (*)(void*, bool, bool), bool (*)(void (*)(void*), void*), void**) in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsDisposeRuntime in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsCreateContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsSetCurrentContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsConvertValueToString in libChakra.Jsrt.a(Jsrt.cpp.o)
      JsrtRuntime::RecyclerCollectCallbackStatic(void*, RecyclerCollectCallBackFlags) in libChakra.Jsrt.a(JsrtRuntime.cpp.o)
      ThreadContext::EnsureRecycler() in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ...
  "___cxa_guard_release", referenced from:
      VALIDATE_ENTER_CURRENT_THREAD() in libChakra.Jsrt.a(JsrtHelper.cpp.o)
      ConfigParser::ProcessConfiguration(void*) in libChakra.Common.Core.a(ConfigParser.cpp.o)
      _rand_s in libChakra.Pal.a(random.cpp.o)
  "___cxa_begin_catch", referenced from:
      CreateRuntimeCore(_JsRuntimeAttributes, unsigned char const*, unsigned long, bool, bool, bool, unsigned int, unsigned int, void (*)(unsigned long, unsigned char const*), void* (*)(unsigned long, unsigned char const*, char const*, bool, bool, unsigned char**, unsigned long*), bool (*)(void*, unsigned char*, unsigned long, unsigned long*), bool (*)(void*, unsigned char const*, unsigned long, unsigned long*), void (*)(void*, bool, bool), bool (*)(void (*)(void*), void*), void**) in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsDisposeRuntime in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsCreateContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsSetCurrentContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsConvertValueToString in libChakra.Jsrt.a(Jsrt.cpp.o)
      ___clang_call_terminate in libChakra.Jsrt.a(Jsrt.cpp.o)
      JsrtRuntime::RecyclerCollectCallbackStatic(void*, RecyclerCollectCallBackFlags) in libChakra.Jsrt.a(JsrtRuntime.cpp.o)
      ...
  "___cxa_rethrow", referenced from:
      CreateRuntimeCore(_JsRuntimeAttributes, unsigned char const*, unsigned long, bool, bool, bool, unsigned int, unsigned int, void (*)(unsigned long, unsigned char const*), void* (*)(unsigned long, unsigned char const*, char const*, bool, bool, unsigned char**, unsigned long*), bool (*)(void*, unsigned char*, unsigned long, unsigned long*), bool (*)(void*, unsigned char const*, unsigned long, unsigned long*), void (*)(void*, bool, bool), bool (*)(void (*)(void*), void*), void**) in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsDisposeRuntime in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsCreateContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsSetCurrentContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsConvertValueToString in libChakra.Jsrt.a(Jsrt.cpp.o)
      ThreadContext::EnsureRecycler() in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::InitializePropertyMaps() in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ...
  "___cxa_guard_abort", referenced from:
      VALIDATE_ENTER_CURRENT_THREAD() in libChakra.Jsrt.a(JsrtHelper.cpp.o)
      ConfigParser::ProcessConfiguration(void*) in libChakra.Common.Core.a(ConfigParser.cpp.o)
      _rand_s in libChakra.Pal.a(random.cpp.o)
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for Js::ExceptionBase in libChakra.Jsrt.a(Jsrt.cpp.o)
      typeinfo for HostScriptContext in libChakra.Jsrt.a(JsrtContextCore.cpp.o)
      typeinfo for FinalizableObject in libChakra.Jsrt.a(JsrtContextCore.cpp.o)
      typeinfo for JsUtil::DoublyLinkedListElement<ThreadContext> in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for ThreadContextInfo in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for JsUtil::ReadOnlyList<Memory::RecyclerWeakReference<Js::PropertyRecord const> const*, Memory::Recycler, DefaultComparer> in libChakra.Jsrt.a(ThreadContext.cpp.o)
      typeinfo for JsUtil::ReadOnlyList<IProjectionContext*, Memory::ArenaAllocator, DefaultComparer> in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "_JsStringToPointerUtf8Copy", referenced from:
      nucleus::main::haf33238c8599cfc7 in nucleus.0.o
  "ConfigParserAPI::DisplayInitialOutput(char16_t*)", referenced from:
      ConfigParser::ProcessConfiguration(void*) in libChakra.Common.Core.a(ConfigParser.cpp.o)
  "___gxx_personality_v0", referenced from:
      CreateContextCore(void*, TTD::TTDJsRTActionResultAutoRecorder&, bool, bool, bool, void**) in libChakra.Jsrt.a(Jsrt.cpp.o)
      CreateRuntimeCore(_JsRuntimeAttributes, unsigned char const*, unsigned long, bool, bool, bool, unsigned int, unsigned int, void (*)(unsigned long, unsigned char const*), void* (*)(unsigned long, unsigned char const*, char const*, bool, bool, unsigned char**, unsigned long*), bool (*)(void*, unsigned char*, unsigned long, unsigned long*), bool (*)(void*, unsigned char const*, unsigned long, unsigned long*), void (*)(void*, bool, bool), bool (*)(void (*)(void*), void*), void**) in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsDisposeRuntime in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsCreateContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsSetCurrentContext in libChakra.Jsrt.a(Jsrt.cpp.o)
      _JsConvertValueToString in libChakra.Jsrt.a(Jsrt.cpp.o)
      TTD::TTModeStack::~TTModeStack() in libChakra.Jsrt.a(TTSupport.cpp.o)
      ...
  "___cxa_throw", referenced from:
      ThreadContext::ProbeStackNoDispose(unsigned long, Js::ScriptContext*, void*) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::ProbeStack(unsigned long, Js::RecyclableObject*, Js::ScriptContext*) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::ExecuteRecyclerCollectionFunction(Memory::Recycler*, int (Memory::Recycler::*)(Memory::CollectionFlags), Memory::CollectionFlags) in libChakra.Jsrt.a(ThreadContext.cpp.o)
      ThreadContext::CheckScriptInterrupt() in libChakra.Jsrt.a(ThreadContext.cpp.o)
      Js::ParseableFunctionInfo::Parse(Js::ScriptFunction**, bool) in libChakra.Jsrt.a(FunctionBody.cpp.o)
      Js::EnterScriptObject::VerifyEnterScript() in libChakra.Jsrt.a(LeaveScriptObject.cpp.o)
      Js::JavascriptFunction::CallRootFunctionInternal(Js::Arguments, Js::ScriptContext*, bool) in libChakra.Jsrt.a(JavascriptFunction.cpp.o)
      ...
  "_JsRunScriptUtf8", referenced from:
      nucleus::main::haf33238c8599cfc7 in nucleus.0.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The code I'm trying to build can be found at https://github.com/Fishrock123/nucleus-chakra. Most of the relevant code is in build.rs and src/main.rs.

I'm using rustc 1.14.0 (e8a012324 2016-12-16).

cc @obastemur I suppose?

@dilijev dilijev added this to the Cross-platform milestone Dec 27, 2016
@dilijev dilijev added the Bug label Dec 27, 2016
@obastemur obastemur removed the Bug label Dec 27, 2016
@obastemur
Copy link
Collaborator

@Fishrock123 looks like the linker flags missing the stdlib reference. BTW, what do you think about https://github.com/darfink/chakracore-rs ?

@obastemur
Copy link
Collaborator

Sample command to link JSRT with Rust libs -> #1492 (comment)

@Fishrock123
Copy link
Contributor Author

BTW, what do you think about https://github.com/darfink/chakracore-rs ?

Oh, was that updated? I din't want to have to rely on something that may not be maintained / beyond me though.

... hmmm looking at the build.rs in there, it's pretty big so maybe I should use it?

@obastemur
Copy link
Collaborator

... hmmm looking at the build.rs in there, it's pretty big so maybe I should use it?

If it works for you, sounds like a good idea :)

@dilijev dilijev added the OSX label Jan 3, 2017
@obastemur
Copy link
Collaborator

Closing this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants