This repository was archived by the owner on Sep 26, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 984
This repository was archived by the owner on Sep 26, 2025. It is now read-only.
Undefined symbols for architecture x86_64 (glog), w/ use_frameworks!, Hermes #3861
Copy link
Copy link
Open
Description
🐛 Bug Report
When I build my react-native app with Xcode I get the following error.
I seem to be getting an error about glog in NotificationService, which is Dependencies in myapp.
Undefined symbols for architecture x86_64:
"google::ErrnoLogMessage::ErrnoLogMessage(char const*, int, int, long long, void (google::LogMessage::*)())", referenced from:
folly::fibers::StackCache::borrow(unsigned long) in libFlipper-Folly.a(GuardPageAllocator.o)
folly::fibers::StackCache::StackCache(unsigned long, unsigned long) in libFlipper-Folly.a(GuardPageAllocator.o)
folly::fibers::StackCache::~StackCache() in libFlipper-Folly.a(GuardPageAllocator.o)
"google::InitVLOG3__(google::SiteFlag*, int*, char const*, int)", referenced from:
folly::EventBase::~EventBase() in libFlipper-Folly.a(EventBase.o)
folly::EventBase::SmoothLoopTime::setTimeInterval(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> >) in libFlipper-Folly.a(EventBase.o)
folly::EventBase::loopBody(int, bool) in libFlipper-Folly.a(EventBase.o)
folly::EventBase::nothingHandledYet() const in libFlipper-Folly.a(EventBase.o)
folly::EventBase::bumpHandlingTime() in libFlipper-Folly.a(EventBase.o)
folly::EventBase::terminateLoopSoon() in libFlipper-Folly.a(EventBase.o)
folly::EventBase::SmoothLoopTime::SmoothLoopTime(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> >) in libFlipper-Folly.a(EventBase.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
To Reproduce
I have enabled use_frameworks! (dependent library constraints), Hermes and Flipper are also enabled.
Podfile (excerpt) ↓. I have also added some workarounds in reference to other issues.
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target_version = '11.0'
platform :ios, target_version
target 'myapp' do
use_frameworks! :linkage => :static
config = use_native_modules!
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => true
)
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
# https://github.com/facebook/flipper/blob/2e9ab310bd135e94b806916412d447c0e9ee3de9/react-native/ReactNativeFlipperExample/ios/Podfile#L30
use_flipper!({ 'Flipper' => '0.150.0', 'Flipper-Folly' => '2.6.10', 'Flipper-DoubleConversion' => '3.2.0', 'Flipper-Glog' => '0.5.0.3', 'Flipper-PeerTalk' => '0.0.4', 'OpenSSL-Universal' => '1.1.1100' })
# https://fbflipper.com/docs/getting-started/ios-native/
#
# If you use `use_frameworks!` in your Podfile,
# uncomment the below $static_framework array and also
# the pre_install section. This will cause Flipper and
# it's dependencies to be built as a static library and all other pods to
# be dynamic.
#
# NOTE Doing this may lead to a broken build if any of these are also
# transitive dependencies of other dependencies and are expected
# to be built as frameworks.
$static_framework = [
'FlipperKit', 'Flipper', 'Flipper-Folly',
'CocoaAsyncSocket', 'ComponentKit', 'Flipper-DoubleConversion',
'Flipper-Glog', 'Flipper-PeerTalk', 'Flipper-RSocket', 'Yoga', 'YogaKit',
'CocoaLibEvent', 'OpenSSL-Universal', 'boost-for-react-native', 'Flipper-Fmt',
]
pre_install do |installer|
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
installer.pod_targets.each do |pod|
if $static_framework.include?(pod.name)
def pod.build_type;
Pod::BuildType.static_library
end
end
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
# https://github.com/facebook/react-native/issues/32451#issuecomment-1162994787
if target.name == "RCT-Folly"
target.build_configurations.each do |config|
config.build_settings['HEADER_SEARCH_PATHS'] = "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include/\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/glog\""
config.build_settings['OTHER_LDFLAGS'] = "\"-Wl,-U,_jump_fcontext\" \"-Wl,-U,_make_fcontext\""
end
end
end
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
end
endinstall pods and build RN app with xcode.
Environment
M1 pro
Flipper Desktop version: 0.150.0
XCode version: 13.3
react: 17.0.2
react-native: 0.66.3
flipperkit version in Pods: 0.150.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.
