folly
folly copied to clipboard
Undefined symbols for architecture x86_64
I'm on MacOS and using g++-11. I have added all the dependent libraries into my path. This is the error when I try to compile a piece of code from the test code.
Undefined symbols for architecture x86_64:
"__ZN5folly14RequestContext10setContextEOSt10shared_ptrIS0_E", referenced from:
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
"__ZN5folly14RequestContext16getStaticContextEv", referenced from:
__ZN5folly14RequestContext11saveContextEv in ccDBbtYD.o
"__ZN5folly15SharedMutexImplILb0EvSt6atomicNS_24SharedMutexPolicyDefaultEE4lockEv", referenced from:
__ZNSt11unique_lockIN5folly15SharedMutexImplILb0EvSt6atomicNS0_24SharedMutexPolicyDefaultEEEE4lockEv in ccDBbtYD.o
"__ZN5folly15SharedMutexImplILb0EvSt6atomicNS_24SharedMutexPolicyDefaultEE6unlockEv", referenced from:
__ZNSt11unique_lockIN5folly15SharedMutexImplILb0EvSt6atomicNS0_24SharedMutexPolicyDefaultEEEE6unlockEv in ccDBbtYD.o
"__ZN5folly29exchangeCurrentAsyncStackRootEPNS_14AsyncStackRootE", referenced from:
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
__ZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ in ccDBbtYD.o
"__ZN5folly6detail18ScopeGuardImplBase9terminateEv", referenced from:
__ZN5folly6detail14ScopeGuardImplIZNS_6fibers12FiberManager13runReadyFiberEPNS2_5FiberEEUlvE_Lb1EE7executeEv in ccDBbtYD.o
__ZN5folly6detail14ScopeGuardImplIZZNS_6fibers12FiberManager17runEagerFiberImplEPNS2_5FiberEENKUlvE_clEvEUlvE_Lb1EE7executeEv in ccDBbtYD.o
__ZN5folly6detail14ScopeGuardImplIZNS_6fibers12FiberManager15runFibersHelperIZZNS3_17runEagerFiberImplEPNS2_5FiberEENKUlvE_clEvEUlvE0_EEvOT_EUlvE_Lb1EE7executeEv in ccDBbtYD.o
"__ZN5folly6fibers12FiberManager22getCurrentFiberManagerEv", referenced from:
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
__ZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ in ccDBbtYD.o
"__ZN5folly6fibers12FiberManager33maybeRegisterAlternateSignalStackEv", referenced from:
__ZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ in ccDBbtYD.o
"__ZN5folly6fibers5Baton5resetEv", referenced from:
__ZZN5folly7futures6detail12WaitExecutor5driveEvENKUlvE_clEv in ccDBbtYD.o
__ZZN5folly7futures6detail12WaitExecutor10driveUntilENSt6chrono10time_pointINS3_3_V212steady_clockENS3_8durationIxSt5ratioILl1ELl1000000000EEEEEEENKUlvE_clEv in ccDBbtYD.o
"__ZN5folly6fibers5Fiber9LocalData5resetEv", referenced from:
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
"__ZN5folly6fibers5FiberD1Ev", referenced from:
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
"__ZN6google10LogMessage6streamEv", referenced from:
__ZN5folly6fibers9FiberImpl8activateEv in ccDBbtYD.o
__ZN5folly6fibers12FiberManager13activateFiberEPNS0_5FiberE in ccDBbtYD.o
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
"__ZN6google15LogMessageFatalC1EPKci", referenced from:
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
"__ZN6google15LogMessageFatalC1EPKciRKNS_13CheckOpStringE", referenced from:
__ZN5folly6fibers9FiberImpl8activateEv in ccDBbtYD.o
__ZN5folly6fibers12FiberManager13activateFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
"__ZN6google15LogMessageFatalD1Ev", referenced from:
__ZN5folly6fibers9FiberImpl8activateEv in ccDBbtYD.o
__ZN5folly6fibers12FiberManager13activateFiberEPNS0_5FiberE in ccDBbtYD.o
__ZN5folly6fibers12FiberManager13runReadyFiberEPNS0_5FiberE in ccDBbtYD.o
__ZZN5folly6fibers12FiberManager15runFibersHelperIZZNS1_17runEagerFiberImplEPNS0_5FiberEENKUlvE_clEvEUlvE0_EEvOT_ENKUlvE_clEv in ccDBbtYD.o
"__ZN6google4base21CheckOpMessageBuilder7ForVar2Ev", referenced from:
__ZN6google17MakeCheckOpStringIilEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers5FiberES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers12FiberManagerES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
"__ZN6google4base21CheckOpMessageBuilder9NewStringB5cxx11Ev", referenced from:
__ZN6google17MakeCheckOpStringIilEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers5FiberES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers12FiberManagerES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
"__ZN6google4base21CheckOpMessageBuilderC1EPKc", referenced from:
__ZN6google17MakeCheckOpStringIilEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers5FiberES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers12FiberManagerES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
"__ZN6google4base21CheckOpMessageBuilderD1Ev", referenced from:
__ZN6google17MakeCheckOpStringIilEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers5FiberES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
__ZN6google17MakeCheckOpStringIPN5folly6fibers12FiberManagerES4_EEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_PKc in ccDBbtYD.o
"_jump_fcontext", referenced from:
__ZN5folly6fibers9FiberImpl8activateEv in ccDBbtYD.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
This appears to be failing to link against boost::context, glog, and at least a couple parts of Folly. How are you currently attempting to link against folly?
I exported the CPLUS_INCLUDE_PATH to /usr/local/Cellar/boost/1.78.0_1/include:/usr/local/Cellar/glog/0.5.0/include, which are the paths I found with brew info.
Hi @TannyXie - I encountered the same issue - did you happen to resolve it somehow?
export LDFLAGS="-lglog -lfolly -L/usr/local/lib"
did the trick for me.