folly icon indicating copy to clipboard operation
folly copied to clipboard

Undefined symbols for architecture x86_64

Open TannyXie opened this issue 2 years ago • 4 comments

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

TannyXie avatar Jun 24 '22 20:06 TannyXie

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?

Orvid avatar Jun 27 '22 19:06 Orvid

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.

TannyXie avatar Jul 12 '22 17:07 TannyXie

Hi @TannyXie - I encountered the same issue - did you happen to resolve it somehow?

mwiewior avatar Oct 21 '23 20:10 mwiewior

export LDFLAGS="-lglog -lfolly -L/usr/local/lib"

did the trick for me.

mwiewior avatar Oct 21 '23 20:10 mwiewior