leeliliang opened a new issue, #1981:
URL: https://github.com/apache/incubator-brpc/issues/1981

   **Describe the bug (描述bug)**
   Undefined symbols for architecture arm64:
     "_CFAbsoluteTimeGetCurrent", referenced from:
         butil::Time::Now() in libbrpc.a(time_mac.cc.o)
         butil::Time::NowFromSystemTime() in libbrpc.a(time_mac.cc.o)
     "_CFAbsoluteTimeGetDayOfWeek", referenced from:
         butil::Time::Explode(bool, butil::Time::Exploded*) const in 
libbrpc.a(time_mac.cc.o)
     "_CFAbsoluteTimeGetGregorianDate", referenced from:
         butil::Time::Explode(bool, butil::Time::Exploded*) const in 
libbrpc.a(time_mac.cc.o)
     "_CFArrayGetTypeID", referenced from:
         __CFArray const* butil::mac::CFCast<__CFArray const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFArray const* butil::mac::CFCastStrict<__CFArray const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
     "_CFBagGetTypeID", referenced from:
         __CFBag const* butil::mac::CFCast<__CFBag const*>(void const* const&) 
in libbrpc.a(foundation_util.mm.o)
         __CFBag const* butil::mac::CFCastStrict<__CFBag const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFBooleanGetTypeID", referenced from:
         __CFBoolean const* butil::mac::CFCast<__CFBoolean const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFBoolean const* butil::mac::CFCastStrict<__CFBoolean const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
     "_CFBundleGetMainBundle", referenced from:
         butil::mac::CreatorCodeForApplication() in 
libbrpc.a(foundation_util.mm.o)
     "_CFBundleGetPackageInfo", referenced from:
         butil::mac::CreatorCodeForCFBundleRef(__CFBundle*) in 
libbrpc.a(foundation_util.mm.o)
         butil::mac::CreatorCodeForApplication() in 
libbrpc.a(foundation_util.mm.o)
     "_CFCopyTypeIDDescription", referenced from:
         butil::mac::GetValueFromDictionaryErrorMessage(__CFString const*, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&, void const*) in 
libbrpc.a(foundation_util.mm.o)
     "_CFDataGetTypeID", referenced from:
         __CFData const* butil::mac::CFCast<__CFData const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFData const* butil::mac::CFCastStrict<__CFData const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFDateGetTypeID", referenced from:
         __CFDate const* butil::mac::CFCast<__CFDate const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFDate const* butil::mac::CFCastStrict<__CFDate const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFDictionaryGetTypeID", referenced from:
         __CFDictionary const* butil::mac::CFCast<__CFDictionary const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
         __CFDictionary const* butil::mac::CFCastStrict<__CFDictionary 
const*>(void const* const&) in libbrpc.a(foundation_util.mm.o)
     "_CFDictionaryGetValue", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_CFErrorCopyDescription", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_CFErrorCopyUserInfo", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_CFErrorGetCode", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_CFErrorGetDomain", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_CFGetTypeID", referenced from:
         __CFArray const* butil::mac::CFCast<__CFArray const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFArray const* butil::mac::CFCastStrict<__CFArray const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
         __CFBag const* butil::mac::CFCast<__CFBag const*>(void const* const&) 
in libbrpc.a(foundation_util.mm.o)
         __CFBag const* butil::mac::CFCastStrict<__CFBag const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFBoolean const* butil::mac::CFCast<__CFBoolean const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFBoolean const* butil::mac::CFCastStrict<__CFBoolean const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
         __CFData const* butil::mac::CFCast<__CFData const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         ...
     "_CFGregorianDateGetAbsoluteTime", referenced from:
         butil::Time::FromExploded(bool, butil::Time::Exploded const&) in 
libbrpc.a(time_mac.cc.o)
     "_CFNullGetTypeID", referenced from:
         __CFNull const* butil::mac::CFCast<__CFNull const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFNull const* butil::mac::CFCastStrict<__CFNull const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFNumberGetTypeID", referenced from:
         __CFNumber const* butil::mac::CFCast<__CFNumber const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFNumber const* butil::mac::CFCastStrict<__CFNumber const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
     "_CFRelease", referenced from:
         butil::FilePath::GetHFSDecomposedForm(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(file_path.cc.o)
         butil::FilePath::CompareIgnoreCase(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in libbrpc.a(file_path.cc.o)
         butil::SysWideToUTF8(std::__1::basic_string<wchar_t, 
std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         
butil::SysUTF8ToWide(butil::BasicStringPiece<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::mac::GetValueFromDictionaryErrorMessage(__CFString const*, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&, void const*) in 
libbrpc.a(foundation_util.mm.o)
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
         butil::Time::FromExploded(bool, butil::Time::Exploded const&) in 
libbrpc.a(time_mac.cc.o)
         ...
     "_CFSetGetTypeID", referenced from:
         __CFSet const* butil::mac::CFCast<__CFSet const*>(void const* const&) 
in libbrpc.a(foundation_util.mm.o)
         __CFSet const* butil::mac::CFCastStrict<__CFSet const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFStringCompare", referenced from:
         butil::FilePath::CompareIgnoreCase(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in libbrpc.a(file_path.cc.o)
     "_CFStringCreateWithBytes", referenced from:
         butil::SysUTF8ToCFStringRef(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF16ToCFStringRef(std::__1::basic_string<unsigned short, 
butil::string16_char_traits, std::__1::allocator<unsigned short> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF8ToNSString(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF16ToNSString(std::__1::basic_string<unsigned short, 
butil::string16_char_traits, std::__1::allocator<unsigned short> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_CFStringCreateWithBytesNoCopy", referenced from:
         butil::FilePath::GetHFSDecomposedForm(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(file_path.cc.o)
         butil::FilePath::CompareIgnoreCase(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in libbrpc.a(file_path.cc.o)
         butil::SysWideToUTF8(std::__1::basic_string<wchar_t, 
std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         
butil::SysUTF8ToWide(butil::BasicStringPiece<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_CFStringGetBytes", referenced from:
         
butil::SysUTF8ToWide(butil::BasicStringPiece<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > butil::(anonymous 
namespace)::CFStringToSTLStringWithEncodingT<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > >(__CFString const*, 
unsigned int) in libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysCFStringRefToUTF16(__CFString const*) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_CFStringGetFileSystemRepresentation", referenced from:
         butil::FilePath::GetHFSDecomposedForm(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(file_path.cc.o)
     "_CFStringGetLength", referenced from:
         
butil::SysUTF8ToWide(butil::BasicStringPiece<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > butil::(anonymous 
namespace)::CFStringToSTLStringWithEncodingT<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > >(__CFString const*, 
unsigned int) in libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysCFStringRefToUTF16(__CFString const*) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_CFStringGetMaximumSizeOfFileSystemRepresentation", referenced from:
         butil::FilePath::GetHFSDecomposedForm(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(file_path.cc.o)
     "_CFStringGetTypeID", referenced from:
         __CFString const* butil::mac::CFCast<__CFString const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFString const* butil::mac::CFCastStrict<__CFString const*>(void 
const* const&) in libbrpc.a(foundation_util.mm.o)
     "_CFTimeZoneCopySystem", referenced from:
         butil::Time::FromExploded(bool, butil::Time::Exploded const&) in 
libbrpc.a(time_mac.cc.o)
         butil::Time::Explode(bool, butil::Time::Exploded*) const in 
libbrpc.a(time_mac.cc.o)
     "_CFURLGetTypeID", referenced from:
         __CFURL const* butil::mac::CFCast<__CFURL const*>(void const* const&) 
in libbrpc.a(foundation_util.mm.o)
         __CFURL const* butil::mac::CFCastStrict<__CFURL const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CFUUIDGetTypeID", referenced from:
         __CFUUID const* butil::mac::CFCast<__CFUUID const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
         __CFUUID const* butil::mac::CFCastStrict<__CFUUID const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CGColorGetTypeID", referenced from:
         CGColor* butil::mac::CFCast<CGColor*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
         CGColor* butil::mac::CFCastStrict<CGColor*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
     "_CTFontGetTypeID", referenced from:
         __CTFont const* butil::mac::CFCast<__CTFont const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_CTRunGetTypeID", referenced from:
         __CTRun const* butil::mac::CFCast<__CTRun const*>(void const* const&) 
in libbrpc.a(foundation_util.mm.o)
         __CTRun const* butil::mac::CFCastStrict<__CTRun const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_NSClassFromString", referenced from:
         __CTFont const* butil::mac::CFCast<__CTFont const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_NSHomeDirectory", referenced from:
         butil::GetHomeDir() in libbrpc.a(file_util_mac.mm.o)
     "_NSSearchPathForDirectoriesInDomains", referenced from:
         butil::mac::GetSearchPathDirectory(NSSearchPathDirectory, unsigned 
long, butil::FilePath*) in libbrpc.a(foundation_util.mm.o)
         butil::mac::GetLocalDirectory(NSSearchPathDirectory, butil::FilePath*) 
in libbrpc.a(foundation_util.mm.o)
         butil::mac::GetUserDirectory(NSSearchPathDirectory, butil::FilePath*) 
in libbrpc.a(foundation_util.mm.o)
         butil::mac::GetUserLibraryPath() in libbrpc.a(foundation_util.mm.o)
     "_NSTemporaryDirectory", referenced from:
         butil::GetTempDir(butil::FilePath*) in libbrpc.a(file_util_mac.mm.o)
         butil::GetHomeDir() in libbrpc.a(file_util_mac.mm.o)
     "_OBJC_CLASS_$_NSBundle", referenced from:
         objc-class-ref in libbrpc.a(bundle_locations.mm.o)
     "_OBJC_CLASS_$_NSObject", referenced from:
         objc-class-ref in libbrpc.a(platform_thread_mac.mm.o)
     "_OBJC_CLASS_$_NSString", referenced from:
         objc-class-ref in libbrpc.a(foundation_util.mm.o)
     "_OBJC_CLASS_$_NSThread", referenced from:
         objc-class-ref in libbrpc.a(platform_thread_mac.mm.o)
     "_SecACLGetTypeID", referenced from:
         __SecACL* butil::mac::CFCast<__SecACL*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
         __SecACL* butil::mac::CFCastStrict<__SecACL*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
     "_SecTrustedApplicationGetTypeID", referenced from:
         __SecTrustedApplication* 
butil::mac::CFCast<__SecTrustedApplication*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
         __SecTrustedApplication* 
butil::mac::CFCastStrict<__SecTrustedApplication*>(void const* const&) in 
libbrpc.a(foundation_util.mm.o)
     "__CFIsObjC", referenced from:
         __CTFont const* butil::mac::CFCast<__CTFont const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "JsonDocValue::JsonDocValue(JsonDoc*, 
rapidjson::GenericValue<rapidjson::UTF8<char>, 
rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >&, long)", referenced 
from:
         RoomProcessor::ReleaseTrtcRoom(JsonDoc&) in room_processor.cpp.o
         UserMgr::PackageBmcuStreamStopMessage(std::__1::shared_ptr<MixTask>) 
in user.cpp.o
         UserMgr::PackageBmcuStreamReadyMessage(std::__1::shared_ptr<MixTask>, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in user.cpp.o
         UserMgr::PackageSaasStreamReadyMessage(std::__1::shared_ptr<MixTask>, 
std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > >&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >&) in user.cpp.o
         UserMgr::PackageSaasStreamStopMessage(std::__1::shared_ptr<MixTask>, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in user.cpp.o
         UserOutManager::KickOutUserAtTrtcRoom(std::__1::shared_ptr<User>&, 
JsonDoc&) in userOut.cpp.o
     "google::GetAllFlags(std::__1::vector<google::CommandLineFlagInfo, 
std::__1::allocator<google::CommandLineFlagInfo> >*)", referenced from:
         brpc::FlagsService::default_method(google::protobuf::RpcController*, 
brpc::FlagsRequest const*, brpc::FlagsResponse*, google::protobuf::Closure*) in 
libbrpc.a(flags_service.cpp.o)
     "google::FlagRegisterer::FlagRegisterer(char const*, char const*, char 
const*, char const*, void*, void*)", referenced from:
         __GLOBAL__sub_I_brpcredis.cpp in brpcredis.cpp.o
     "google::FlagRegisterer::FlagRegisterer<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, char 
const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >*, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from:
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
         __GLOBAL__sub_I_common.cpp in libbrpc.a(common.cpp.o)
         __GLOBAL__sub_I_trackme.cpp in libbrpc.a(trackme.cpp.o)
         __GLOBAL__sub_I_span.cpp in libbrpc.a(span.cpp.o)
         __GLOBAL__sub_I_health_check.cpp in libbrpc.a(health_check.cpp.o)
         __GLOBAL__sub_I_discovery_naming_service.cpp in 
libbrpc.a(discovery_naming_service.cpp.o)
         ...
     "google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, 
char const*, bool*, bool*)", referenced from:
         __GLOBAL__sub_I_controller.cpp in libbrpc.a(controller.cpp.o)
         __GLOBAL__sub_I_redis.cpp in libbrpc.a(redis.cpp.o)
         __GLOBAL__sub_I_server.cpp in libbrpc.a(server.cpp.o)
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
         __GLOBAL__sub_I_input_messenger.cpp in libbrpc.a(input_messenger.cpp.o)
         __GLOBAL__sub_I_protocol.cpp in libbrpc.a(protocol.cpp.o)
         ...
     "google::FlagRegisterer::FlagRegisterer<double>(char const*, char const*, 
char const*, double*, double*)", referenced from:
         __GLOBAL__sub_I_circuit_breaker.cpp in libbrpc.a(circuit_breaker.cpp.o)
         __GLOBAL__sub_I_auto_concurrency_limiter.cpp in 
libbrpc.a(auto_concurrency_limiter.cpp.o)
         __GLOBAL__sub_I_locality_aware_load_balancer.cpp in 
libbrpc.a(locality_aware_load_balancer.cpp.o)
     "google::FlagRegisterer::FlagRegisterer<int>(char const*, char const*, 
char const*, int*, int*)", referenced from:
         __GLOBAL__sub_I_latency_recorder.cpp in 
libbrpc.a(latency_recorder.cpp.o)
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_sampler.cpp in libbrpc.a(sampler.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
         __GLOBAL__sub_I_socket_map.cpp in libbrpc.a(socket_map.cpp.o)
         __GLOBAL__sub_I_socket.cpp in libbrpc.a(socket.cpp.o)
         __GLOBAL__sub_I_load_balancer.cpp in libbrpc.a(load_balancer.cpp.o)
         ...
     "google::FlagRegisterer::FlagRegisterer<long long>(char const*, char 
const*, char const*, long long*, long long*)", referenced from:
         __GLOBAL__sub_I_socket.cpp in libbrpc.a(socket.cpp.o)
         __GLOBAL__sub_I_locality_aware_load_balancer.cpp in 
libbrpc.a(locality_aware_load_balancer.cpp.o)
         __GLOBAL__sub_I_cluster_recover_policy.cpp in 
libbrpc.a(cluster_recover_policy.cpp.o)
     "google::FlagRegisterer::FlagRegisterer<unsigned long long>(char const*, 
char const*, char const*, unsigned long long*, unsigned long long*)", 
referenced from:
         __GLOBAL__sub_I_protocol.cpp in libbrpc.a(protocol.cpp.o)
     "google::GetCommandLineOption(char const*, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from:
         bvar::dumping_thread(void*) in libbrpc.a(variable.cpp.o)
         bvar::GFlag::get_value() const in libbrpc.a(gflag.cpp.o)
         brpc::RpcDumpContext::SaveFlags() in libbrpc.a(rpc_dump.cpp.o)
     "google::SetCommandLineOption(char const*, char const*)", referenced from:
         brpc::RpczService::enable(google::protobuf::RpcController*, 
brpc::RpczRequest const*, brpc::RpczResponse*, google::protobuf::Closure*) in 
libbrpc.a(rpcz_service.cpp.o)
         brpc::RpczService::disable(google::protobuf::RpcController*, 
brpc::RpczRequest const*, brpc::RpczResponse*, google::protobuf::Closure*) in 
libbrpc.a(rpcz_service.cpp.o)
         bvar::GFlag::set_value(char const*) in libbrpc.a(gflag.cpp.o)
         brpc::FlagsService::default_method(google::protobuf::RpcController*, 
brpc::FlagsRequest const*, brpc::FlagsResponse*, google::protobuf::Closure*) in 
libbrpc.a(flags_service.cpp.o)
     "google::RegisterFlagValidator(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const*, bool (*)(char 
const*, std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&))", referenced from:
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
     "google::RegisterFlagValidator(bool const*, bool (*)(char const*, bool))", 
referenced from:
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
         __GLOBAL__sub_I_task_group.cpp in libbrpc.a(task_group.cpp.o)
         brpc::RegisterFlagValidatorOrDie(bool const*, bool (*)(char const*, 
bool)) in libbrpc.a(reloadable_flags.cpp.o)
     "google::RegisterFlagValidator(double const*, bool (*)(char const*, 
double))", referenced from:
         brpc::RegisterFlagValidatorOrDie(double const*, bool (*)(char const*, 
double)) in libbrpc.a(reloadable_flags.cpp.o)
     "google::RegisterFlagValidator(int const*, bool (*)(char const*, int))", 
referenced from:
         __GLOBAL__sub_I_latency_recorder.cpp in 
libbrpc.a(latency_recorder.cpp.o)
         __GLOBAL__sub_I_variable.cpp in libbrpc.a(variable.cpp.o)
         __GLOBAL__sub_I_logging.cc in libbrpc.a(logging.cc.o)
         __GLOBAL__sub_I_mvariable.cpp in libbrpc.a(mvariable.cpp.o)
         __GLOBAL__sub_I_bthread.cpp in libbrpc.a(bthread.cpp.o)
         brpc::RegisterFlagValidatorOrDie(int const*, bool (*)(char const*, 
int)) in libbrpc.a(reloadable_flags.cpp.o)
     "google::RegisterFlagValidator(long long const*, bool (*)(char const*, 
long long))", referenced from:
         brpc::RegisterFlagValidatorOrDie(long long const*, bool (*)(char 
const*, long long)) in libbrpc.a(reloadable_flags.cpp.o)
     "google::RegisterFlagValidator(unsigned long long const*, bool (*)(char 
const*, unsigned long long))", referenced from:
         brpc::RegisterFlagValidatorOrDie(unsigned long long const*, bool 
(*)(char const*, unsigned long long)) in libbrpc.a(reloadable_flags.cpp.o)
     "google::GetCommandLineFlagInfo(char const*, 
google::CommandLineFlagInfo*)", referenced from:
         bvar::GFlag::describe(std::__1::basic_ostream<char, 
std::__1::char_traits<char> >&, bool) const in libbrpc.a(gflag.cpp.o)
         brpc::FlagsService::set_value_page(brpc::Controller*, 
google::protobuf::Closure*) in libbrpc.a(flags_service.cpp.o)
         brpc::FlagsService::default_method(google::protobuf::RpcController*, 
brpc::FlagsRequest const*, brpc::FlagsResponse*, google::protobuf::Closure*) in 
libbrpc.a(flags_service.cpp.o)
     "leveldb::DB::Open(leveldb::Options const&, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
leveldb::DB**)", referenced from:
         brpc::SpanDB::Open() in libbrpc.a(span.cpp.o)
     "leveldb::Status::Status(leveldb::Status::Code, leveldb::Slice const&, 
leveldb::Slice const&)", referenced from:
         brpc::SpanDB::Index(brpc::Span const*, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >*) in 
libbrpc.a(span.cpp.o)
         brpc::SpanDB::RemoveSpansBefore(long long) in libbrpc.a(span.cpp.o)
     "leveldb::Options::Options()", referenced from:
         brpc::SpanDB::Open() in libbrpc.a(span.cpp.o)
     "leveldb::Status::ToString() const", referenced from:
         brpc::SpanDB::Open() in libbrpc.a(span.cpp.o)
         brpc::Span::dump_and_destroy(unsigned long) in libbrpc.a(span.cpp.o)
     "___CFConstantStringClassReference", referenced from:
         CFString in libbrpc.a(sys_string_conversions_mac.mm.o)
         CFString in libbrpc.a(foundation_util.mm.o)
         CFString in libbrpc.a(foundation_util.mm.o)
         CFString in libbrpc.a(foundation_util.mm.o)
     "_kCFAbsoluteTimeIntervalSince1970", referenced from:
         butil::Time::Now() in libbrpc.a(time_mac.cc.o)
         butil::Time::FromCFAbsoluteTime(double) in libbrpc.a(time_mac.cc.o)
         butil::Time::ToCFAbsoluteTime() const in libbrpc.a(time_mac.cc.o)
         butil::Time::NowFromSystemTime() in libbrpc.a(time_mac.cc.o)
         butil::Time::FromExploded(bool, butil::Time::Exploded const&) in 
libbrpc.a(time_mac.cc.o)
         butil::Time::Explode(bool, butil::Time::Exploded*) const in 
libbrpc.a(time_mac.cc.o)
     "_kCFAllocatorDefault", referenced from:
         butil::SysUTF8ToCFStringRef(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF16ToCFStringRef(std::__1::basic_string<unsigned short, 
butil::string16_char_traits, std::__1::allocator<unsigned short> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF8ToNSString(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         butil::SysUTF16ToNSString(std::__1::basic_string<unsigned short, 
butil::string16_char_traits, std::__1::allocator<unsigned short> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_kCFAllocatorNull", referenced from:
         butil::FilePath::GetHFSDecomposedForm(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in 
libbrpc.a(file_path.cc.o)
         butil::FilePath::CompareIgnoreCase(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&) in libbrpc.a(file_path.cc.o)
         butil::SysWideToUTF8(std::__1::basic_string<wchar_t, 
std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
         
butil::SysUTF8ToWide(butil::BasicStringPiece<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in 
libbrpc.a(sys_string_conversions_mac.mm.o)
     "_kCFErrorDescriptionKey", referenced from:
         operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> 
>&, __CFError*) in libbrpc.a(foundation_util.mm.o)
     "_objc_autorelease", referenced from:
         butil::mac::CFTypeRefToNSObjectAutorelease(void const*) in 
libbrpc.a(foundation_util.mm.o)
     "_objc_opt_class", referenced from:
         butil::InitThreading() in libbrpc.a(platform_thread_mac.mm.o)
     "_objc_opt_isKindOfClass", referenced from:
         __CTFont const* butil::mac::CFCast<__CTFont const*>(void const* 
const&) in libbrpc.a(foundation_util.mm.o)
     "_objc_release", referenced from:
         butil::mac::NSObjectRelease(void*) in libbrpc.a(foundation_util.mm.o)
         butil::mac::SetOverrideOuterBundle(NSBundle*) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideFrameworkBundle(NSBundle*) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideOuterBundlePath(butil::FilePath const&) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideFrameworkBundlePath(butil::FilePath const&) in 
libbrpc.a(bundle_locations.mm.o)
     "_objc_retain", referenced from:
         butil::mac::NSObjectRetain(void*) in libbrpc.a(foundation_util.mm.o)
         butil::mac::SetOverrideOuterBundle(NSBundle*) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideFrameworkBundle(NSBundle*) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideOuterBundlePath(butil::FilePath const&) in 
libbrpc.a(bundle_locations.mm.o)
         butil::mac::SetOverrideFrameworkBundlePath(butil::FilePath const&) in 
libbrpc.a(bundle_locations.mm.o)
   ld: symbol(s) not found for architecture arm64
   
   **To Reproduce (复现方法)**
   cmake -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 
-DCMAKE_INSTALL_PREFIX=/brpc/builddir/output  ..
   编译成功
   编写测试程序 link链接libbrpc.a的时候
   
   **Expected behavior (期望行为)**
   链接成功
   **Versions (各种版本)**
    型号名称:       MacBook Pro
     型号标识符:     MacBookPro17,1
     芯片:        Apple M1
     核总数:       8(4性能和4能效)
     内存:        16 GB
   系统版本:        macOS 12.6 (21G115)
     内核版本:      Darwin 21.6.0
     启动宗卷:      Macintosh HD
   OS:
   Compiler: clang++
   brpc: latest
   protobuf: v3.0.0
   
   **Additional context/screenshots (更多上下文/截图)**
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org
For additional commands, e-mail: dev-h...@brpc.apache.org

Reply via email to