protocolbuffers / protobuf

Protocol Buffers - Google's data interchange format
http://protobuf.dev
Other
65.48k stars 15.46k forks source link

Static Library Linked Problem #13367

Closed jxh-cuit closed 1 year ago

jxh-cuit commented 1 year ago

What version of protobuf and what language are you using? Version: 23.4 (NOTE: please try updating to the latest version of protoc/runtime possible beforehand to attempt to resolve your problem) Language: C++

What operating system (Linux, Windows, ...) and version? Linux Centos What runtime / compiler are you using (e.g., python version or gcc version) gcc 7.3.1 What did you do? Steps to reproduce the behavior: git clone https://github.com/protocolbuffers/protobuf.git cd protobuf git submodule update --init --recursive mkdir build cd build cmake -DCMAKE_BUILD_TYPE=DEBUG -Dprotobuf_BUILD_SHARED_LIBS=OFF -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_TESTS=OFF .. make && make install DESTDIR=. `#include "people.pb.h"

include

include

using namespace school;

int main() { people person; person.set_name("John"); person.set_age(25); person.set_scores(90);

std::string serialized_data;
if (person.SerializeToString(&serialized_data)) {
    std::cout << "Serialized data: " << serialized_data << std::endl;
} else {
    std::cerr << "Failed to serialize data." << std::endl;
    return 1;
}

people person_deserialized;
if (person_deserialized.ParseFromString(serialized_data)) {
    std::cout << "Deserialized name: " << person_deserialized.name() << std::endl;
    std::cout << "Deserialized age: " << person_deserialized.age() << std::endl;
    std::cout << "Deserialized scores: " << person_deserialized.scores() << std::endl;
} else {
    std::cerr << "Failed to deserialize data." << std::endl;
    return 1;
}

return 0;

} and I had person.pb.cc and person.pb.h, this is people.proto: syntax = "proto3"; package school;

message people { string name = 1; int32 age = 2; int32 scores = 3; } and I submitted: g++ test.o people.o -o test_program -I./usr/local/include/ -std=c++17 -L./usr/local/lib64/ -lprotobufd -lprotobuf-lited -lprotocd -lutf8_range -lutf8_validity -labsl_crc_cpu_detect -labsl_flags_private_handle_accessor -labsl_log_internal_conditions -labsl_random_internal_pool_urbg -labsl_strerror -labsl_bad_any_cast_impl -labsl_crc_internal -labsl_flags_program_name -labsl_log_internal_format -labsl_random_internal_randen -labsl_str_format_internal -labsl_bad_optional_access -labsl_debugging_internal -labsl_flags_reflection -labsl_log_internal_globals -labsl_random_internal_randen_hwaes -labsl_strings -labsl_bad_variant_access -labsl_demangle_internal -labsl_flags_usage -labsl_log_internal_log_sink_set -labsl_random_internal_randen_hwaes_impl -labsl_strings_internal -labsl_base -labsl_die_if_null -labsl_flags_usage_internal -labsl_log_internal_message -labsl_random_internal_randen_slow -labsl_symbolize -labsl_city -labsl_examine_stack -labsl_graphcycles_internal -labsl_log_internal_nullguard -labsl_random_internal_seed_material -labsl_synchronization -labsl_civil_time -labsl_exponential_biased -labsl_hash -labsl_log_internal_proto -labsl_random_seed_gen_exception -labsl_throw_delegate -labsl_cord -labsl_failure_signal_handler -labsl_hashtablez_sampler -labsl_log_severity -labsl_random_seed_sequences -labsl_time -labsl_cord_internal -labsl_flags -labsl_int128 -labsl_log_sink -labsl_raw_hash_set -labsl_time_zone -labsl_cordz_functions -labsl_flags_commandlineflag -labsl_leak_check -labsl_low_level_hash -labsl_raw_logging_internal -labsl_cordz_handle -labsl_flags_commandlineflag_internal -labsl_log_entry -labsl_malloc_internal -labsl_scoped_set_env -labsl_cordz_info -labsl_flags_config -labsl_log_flags -labsl_periodic_sampler -labsl_spinlock_wait -labsl_cordz_sample_token -labsl_flags_internal -labsl_log_globals -labsl_random_distributions -labsl_stacktrace -labsl_crc32c -labsl_flags_marshalling -labsl_log_initialize -labsl_random_internal_distribution_test_util -labsl_status -labsl_crc_cord_state -labsl_flags_parse -labsl_log_internal_check_op -labsl_random_internal_platform -labsl_statusor But still got: ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In functionabsl::lts_20230125::log_internal::LogMessage::LogMessageData::FinalizeEncodingAndFormat()': log_message.cc:(.text+0x5c1): undefined reference to absl::lts_20230125::log_internal::ThreadIsLoggingToLogSink()' log_message.cc:(.text+0x5f0): undefined reference toabsl::lts_20230125::log_internal::FormatLogPrefix(absl::lts_20230125::LogSeverity, absl::lts_20230125::Time, int, std::basic_string_view<char, std::char_traits >, int, absl::lts_20230125::log_internal::PrefixFormat, absl::lts_20230125::Span&)' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::AtLocation(std::basic_string_view<char, std::char_traits<char> >, int)': log_message.cc:(.text+0x64c): undefined reference toabsl::lts_20230125::log_internal::IsInitialized()' log_message.cc:(.text+0x7ac): undefined reference to absl::lts_20230125::log_internal::ShouldSymbolizeLogStackTrace()' log_message.cc:(.text+0x7b4): undefined reference toabsl::lts_20230125::log_internal::MaxFramesInLogStackTrace()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::FailWithoutStackTrace()': log_message.cc:(.text+0x99a): undefined reference toabsl::lts_20230125::log_internal::SetSuppressSigabortTrace(bool)' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::PrepareToDie()': log_message.cc:(.text+0xfda): undefined reference toabsl::lts_20230125::log_internal::LogToSinks(absl::lts_20230125::LogEntry const&, absl::lts_20230125::Span<absl::lts_20230125::LogSink>, bool)' log_message.cc:(.text+0x10a8): undefined reference to absl::lts_20230125::log_internal::ShouldSymbolizeLogStackTrace()' log_message.cc:(.text+0x10b3): undefined reference toabsl::lts_20230125::log_internal::MaxFramesInLogStackTrace()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::Die()': log_message.cc:(.text+0x11d5): undefined reference toabsl::lts_20230125::log_internal::FlushLogSinks()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::SendToLog()': log_message.cc:(.text+0x1225): undefined reference toabsl::lts_20230125::log_internal::LogToSinks(absl::lts_20230125::LogEntry const&, absl::lts_20230125::Span<absl::lts_20230125::LogSink>, bool)' log_message.cc:(.text+0x1239): undefined reference to absl::lts_20230125::log_internal::ExitOnDFatal()' log_message.cc:(.text+0x1251): undefined reference toabsl::lts_20230125::log_internal::ExitOnDFatal()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::LogBacktraceIfNeeded()': log_message.cc:(.text+0x127d): undefined reference toabsl::lts_20230125::log_internal::IsInitialized()' log_message.cc:(.text+0x13cc): undefined reference to absl::lts_20230125::log_internal::ShouldSymbolizeLogStackTrace()' log_message.cc:(.text+0x13d4): undefined reference toabsl::lts_20230125::log_internal::MaxFramesInLogStackTrace()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::Flush()': log_message.cc:(.text+0x1672): undefined reference toabsl::lts_20230125::log_internal::LogToSinks(absl::lts_20230125::LogEntry const&, absl::lts_20230125::Span<absl::lts_20230125::LogSink>, bool)' log_message.cc:(.text+0x16ac): undefined reference to absl::lts_20230125::base_internal::StrError(int)' log_message.cc:(.text+0x1731): undefined reference toabsl::lts_20230125::log_internal::ExitOnDFatal()' log_message.cc:(.text+0x1749): undefined reference to absl::lts_20230125::log_internal::ExitOnDFatal()' log_message.cc:(.text+0x1761): undefined reference toabsl::lts_20230125::log_internal::ExitOnDFatal()' ./usr/local/lib64//libabsl_log_internal_message.a(log_message.cc.o): In function absl::lts_20230125::log_internal::LogMessage::IsFatal() const': log_message.cc:(.text+0xf81): undefined reference toabsl::lts_20230125::log_internal::ExitOnDFatal()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function `absl::lts_20230125::EnsureSynchEvent(std::atomic, char const, long, long)': mutex.cc:(.text+0x8f): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0x1e2): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function `absl::lts_20230125::GetSynchEvent(void const)': mutex.cc:(.text+0x22a): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0x2ae): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function absl::lts_20230125::PostSynchEvent(void*, int)': mutex.cc:(.text+0x46e): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0x503): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In functionabsl::lts_20230125::ForgetSynchEvent(std::atomic, long, long)': mutex.cc:(.text+0x55c): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0x66a): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function absl::lts_20230125::Mutex::InternalAttemptToUseMutexInFatalSignalHandler()': mutex.cc:(.text+0xa15): undefined reference toabsl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function `absl::lts_20230125::Mutex::EnableDebugLog(char const)': mutex.cc:(.text+0xa8c): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0xaec): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function absl::lts_20230125::Mutex::EnableInvariantDebugging(void (*)(void*), void*)': mutex.cc:(.text+0xb9e): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0xbba): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In functionabsl::lts_20230125::CondVar::EnableDebugLog(char const)': mutex.cc:(.text+0x129c): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' mutex.cc:(.text+0x12fc): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function absl::lts_20230125::Mutex::AwaitCommon(absl::lts_20230125::Condition const&, absl::lts_20230125::synchronization_internal::KernelTimeout)': mutex.cc:(.text+0x2764): undefined reference toabsl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function `absl::lts_20230125::Mutex::LockSlowWithDeadline(absl::lts_20230125::MuHowS const, absl::lts_20230125::Condition const, absl::lts_20230125::synchronization_internal::KernelTimeout, int)': mutex.cc:(.text+0x2b4c): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In functionabsl::lts_20230125::CondVar::WaitCommon(absl::lts_20230125::Mutex, absl::lts_20230125::synchronization_internal::KernelTimeout)': mutex.cc:(.text+0x2dba): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' mutex.cc:(.text+0x2ec6): undefined reference toabsl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o): In function absl::lts_20230125::Mutex::LockWhenWithTimeout(absl::lts_20230125::Condition const&, absl::lts_20230125::Duration)': mutex.cc:(.text+0x31a6): undefined reference toabsl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o):mutex.cc:(.text+0x338e): more undefined references to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' follow ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o):(.data+0x0): undefined reference toabsl::lts_20230125::Symbolize(void const, char, int)' ./usr/local/lib64//libabsl_synchronization.a(mutex.cc.o):(.data+0x8): undefined reference to absl::lts_20230125::Symbolize(void const*, char*, int)' ./usr/local/lib64//libabsl_time.a(clock.cc.o): In functionabsl::lts_20230125::GetCurrentTimeNanosSlowPath()': clock.cc:(.text.unlikely+0x2d): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' clock.cc:(.text.unlikely+0x37d): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In function absl::lts_20230125::base_internal::(anonymous namespace)::CreateGlobalArenas()': low_level_alloc.cc:(.text+0xb): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SpinLock(absl::lts_20230125::base_internal::SchedulingMode)' low_level_alloc.cc:(.text+0x9e): undefined reference to absl::lts_20230125::base_internal::SpinLock::SpinLock(absl::lts_20230125::base_internal::SchedulingMode)' low_level_alloc.cc:(.text+0x12b): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SpinLock(absl::lts_20230125::base_internal::SchedulingMode)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In function absl::lts_20230125::base_internal::DoAllocWithArena(unsigned long, absl::lts_20230125::base_internal::LowLevelAlloc::Arena*)': low_level_alloc.cc:(.text+0x979): undefined reference topthread_sigmask' low_level_alloc.cc:(.text+0xb59): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' low_level_alloc.cc:(.text+0xbcf): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' low_level_alloc.cc:(.text+0xf61): undefined reference to pthread_sigmask' low_level_alloc.cc:(.text+0xff2): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' low_level_alloc.cc:(.text+0x10b6): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In functionabsl::lts_20230125::base_internal::LowLevelAlloc::Arena::Arena(unsigned int)': low_level_alloc.cc:(.text+0x10ee): undefined reference to absl::lts_20230125::base_internal::SpinLock::SpinLock(absl::lts_20230125::base_internal::SchedulingMode)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In functionabsl::lts_20230125::base_internal::LowLevelAlloc::NewArena(unsigned int)': low_level_alloc.cc:(.text+0x1218): undefined reference to absl::lts_20230125::base_internal::SpinLock::SpinLock(absl::lts_20230125::base_internal::SchedulingMode)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In functionabsl::lts_20230125::base_internal::LowLevelAlloc::DeleteArena(absl::lts_20230125::base_internal::LowLevelAlloc::Arena)': low_level_alloc.cc:(.text+0x13ad): undefined reference to pthread_sigmask' low_level_alloc.cc:(.text+0x13ce): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' low_level_alloc.cc:(.text+0x1640): undefined reference to pthread_sigmask' low_level_alloc.cc:(.text+0x16b0): undefined reference topthread_sigmask' low_level_alloc.cc:(.text+0x1767): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' low_level_alloc.cc:(.text+0x1771): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_malloc_internal.a(low_level_alloc.cc.o): In function `absl::lts_20230125::base_internal::LowLevelAlloc::Free(void)': low_level_alloc.cc:(malloc_hook+0x109): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' low_level_alloc.cc:(malloc_hook+0x126): undefined reference topthread_sigmask' low_level_alloc.cc:(malloc_hook+0x168): undefined reference to pthread_sigmask' low_level_alloc.cc:(malloc_hook+0x1cb): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_status.a(status.cc.o): In function absl::lts_20230125::ErrnoToStatus(int, std::basic_string_view<char, std::char_traits<char> >)': status.cc:(.text+0x2120): undefined reference toabsl::lts_20230125::base_internal::StrError(int)' /tmp/ccIyazwo.o: In function main': test.cpp:(.text+0x1aa): undefined reference togoogle::protobuf::MessageLite::ParseFromString(absl::lts_20230125::string_view)' /tmp/ccIyazwo.o: In function google::protobuf::internal::ArenaStringPtr::Set(char const*, google::protobuf::Arena*)': test.cpp:(.text._ZN6google8protobuf8internal14ArenaStringPtr3SetEPKcPNS0_5ArenaE[_ZN6google8protobuf8internal14ArenaStringPtr3SetEPKcPNS0_5ArenaE]+0x3b): undefined reference togoogle::protobuf::internal::ArenaStringPtr::Set(absl::lts_20230125::string_view, google::protobuf::Arena)' /tmp/ccqnZ0dd.o: In function school::people::MergeImpl(google::protobuf::Message&, google::protobuf::Message const&)': people.pb.cc:(.text+0x54e): undefined reference toabsl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const, int, absl::lts_20230125::string_view)' /tmp/ccqnZ0dd.o: In function google::protobuf::internal::ArenaAlignAs(unsigned long)': people.pb.cc:(.text._ZN6google8protobuf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0x80): undefined reference toabsl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const, int, absl::lts_20230125::string_view)' people.pb.cc:(.text._ZN6google8protobuf8internal12ArenaAlignAsEm[_ZN6google8protobuf8internal12ArenaAlignAsEm]+0xe9): undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const, int, absl::lts_20230125::string_view)' /tmp/ccqnZ0dd.o: In function school::people::SharedDtor()': people.pb.cc:(.text._ZN6school6people10SharedDtorEv[_ZN6school6people10SharedDtorEv]+0x5d): undefined reference toabsl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const, int, absl::lts_20230125::string_view)' /tmp/ccqnZ0dd.o: In function absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<< <19>(char const (&) [19])': people.pb.cc:(.text._ZN4absl12lts_2023012512log_internal10LogMessagelsILi19EEERS2_RAT__Kc[_ZN4absl12lts_2023012512log_internal10LogMessagelsILi19EEERS2_RAT__Kc]+0x38): undefined reference toabsl::lts_20230125::log_internal::LogMessage::CopyToEncodedBuffer(absl::lts_20230125::string_view, absl::lts_20230125::log_internal::LogMessage::StringType)' ./usr/local/lib64//libabsl_examine_stack.a(examine_stack.cc.o): In function `absl::lts_20230125::debugging_internal::(anonymous namespace)::DumpPCAndFrameSizeAndSymbol(void ()(char const, void), void, void, void, int, char const)': examine_stack.cc:(.text+0x3b): undefined reference to absl::lts_20230125::Symbolize(void const*, char*, int)' ./usr/local/lib64//libabsl_examine_stack.a(examine_stack.cc.o): In functionabsl::lts_20230125::debugging_internal::DumpStackTrace(int, int, bool, void ()(char const, void), void)': examine_stack.cc:(.text+0x387): undefined reference to absl::lts_20230125::Symbolize(void const*, char*, int)' examine_stack.cc:(.text+0x3a0): undefined reference toabsl::lts_20230125::Symbolize(void const, char, int)' ./usr/local/lib64//libabsl_synchronization.a(create_thread_identity.cc.o): In function absl::lts_20230125::synchronization_internal::ReclaimThreadIdentity(void*)': create_thread_identity.cc:(.text+0x13): undefined reference toabsl::lts_20230125::base_internal::ClearCurrentThreadIdentity()' create_thread_identity.cc:(.text+0x27): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' ./usr/local/lib64//libabsl_synchronization.a(create_thread_identity.cc.o): In functionabsl::lts_20230125::synchronization_internal::CreateThreadIdentity()': create_thread_identity.cc:(.text+0xa5): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' create_thread_identity.cc:(.text+0x16d): undefined reference toabsl::lts_20230125::base_internal::SetCurrentThreadIdentity(absl::lts_20230125::base_internal::ThreadIdentity, void ()(void))' create_thread_identity.cc:(.text+0x1e6): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' create_thread_identity.cc:(.text+0x1f2): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(create_thread_identity.cc.o): In function `absl::lts_20230125::synchronization_internal::ReclaimThreadIdentity(void)': create_thread_identity.cc:(.text+0x7a): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_synchronization.a(per_thread_sem.cc.o): In functionabsl::lts_20230125::synchronization_internal::PerThreadSem::SetThreadBlockedCounter(std::atomic)': per_thread_sem.cc:(.text+0x5): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(per_thread_sem.cc.o): In functionabsl::lts_20230125::synchronization_internal::PerThreadSem::GetThreadBlockedCounter()': per_thread_sem.cc:(.text+0x35): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(per_thread_sem.cc.o): In functionAbslInternalPerThreadSemWait_lts_20230125': per_thread_sem.cc:(.text+0xfe): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_synchronization.a(waiter.cc.o): In functionabsl::lts_20230125::synchronization_internal::Waiter::Wait(absl::lts_20230125::synchronization_internal::KernelTimeout)': waiter.cc:(.text+0x4c): undefined reference to absl::lts_20230125::base_internal::CurrentThreadIdentityIfPresent()' ./usr/local/lib64//libabsl_hash.a(hash.cc.o): In functionabsl::lts_20230125::hash_internal::MixingHashState::CombineLargeContiguousImpl32(unsigned long, unsigned char const, unsigned long)': hash.cc:(.text+0x60): undefined reference to absl::lts_20230125::hash_internal::CityHash32(char const*, unsigned long)' hash.cc:(.text+0x9e): undefined reference toabsl::lts_20230125::hash_internal::CityHash32(char const, unsigned long)' ./usr/local/lib64//libabsl_cordz_functions.a(cordz_functions.cc.o): In function absl::lts_20230125::cord_internal::cordz_should_profile_slow()': cordz_functions.cc:(.text+0x94): undefined reference toabsl::lts_20230125::profiling_internal::ExponentialBiased::GetStride(long)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::~CordzInfo()': cordz_info.cc:(.text+0x71): undefined reference toabsl::lts_20230125::cord_internal::CordzHandle::~CordzHandle()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function `absl::lts_20230125::cord_internal::CordzInfo::CordzInfo(absl::lts_20230125::cord_internal::CordRep, absl::lts_20230125::cord_internal::CordzInfo const, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0xb59): undefined reference to absl::lts_20230125::cord_internal::CordzHandle::CordzHandle(bool)' cordz_info.cc:(.text+0xde9): undefined reference toabsl::lts_20230125::cord_internal::CordzHandle::~CordzHandle()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::TrackCord(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0xe4b): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::Track()': cordz_info.cc:(.text+0xee7): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::Untrack()': cordz_info.cc:(.text+0xf5c): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowLock()' cordz_info.cc:(.text+0xf9f): undefined reference to absl::lts_20230125::cord_internal::CordzHandle::SafeToDelete() const' cordz_info.cc:(.text+0xfd6): undefined reference toabsl::lts_20230125::cord_internal::CordzHandle::~CordzHandle()' cordz_info.cc:(.text+0x106f): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::TrackCord(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::InlineData const&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0x10e6): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::MaybeTrackCordImpl(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::InlineData const&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0x1200): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowLock()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::~CordzInfo()': cordz_info.cc:(.text+0x22): undefined reference to absl::lts_20230125::cord_internal::CordzHandle::~CordzHandle()' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::TrackCord(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0xeab): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::Track()': cordz_info.cc:(.text+0xf36): undefined reference to absl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In functionabsl::lts_20230125::cord_internal::CordzInfo::Untrack()': cordz_info.cc:(.text+0x104c): undefined reference to `absl::lts_20230125::cord_internal::CordzHandle::Delete(absl::lts_20230125::cord_internal::CordzHandle)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::TrackCord(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::InlineData const&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0x1144): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o): In function absl::lts_20230125::cord_internal::CordzInfo::MaybeTrackCordImpl(absl::lts_20230125::cord_internal::InlineData&, absl::lts_20230125::cord_internal::InlineData const&, absl::lts_20230125::cord_internal::CordzUpdateTracker::MethodIdentifier)': cordz_info.cc:(.text+0x1246): undefined reference toabsl::lts_20230125::base_internal::SpinLock::SlowUnlock(unsigned int)' ./usr/local/lib64//libabsl_cordz_info.a(cordz_info.cc.o):(.rodata._ZTIN4absl12lts_2023012513cord_internal9CordzInfoE[_ZTIN4absl12lts_2023012513cord_internal9CordzInfoE]+0x10): undefined reference to typeinfo for absl::lts_20230125::cord_internal::CordzHandle' ./usr/local/lib64//libabsl_stacktrace.a(stacktrace.cc.o): In functionint UnwindImpl<true, false>(void*, int, int, int, void const, int)': stacktrace.cc:(.text+0x1b0): undefined reference to absl::lts_20230125::debugging_internal::AddressIsReadable(void const*)' stacktrace.cc:(.text+0x214): undefined reference toabsl::lts_20230125::debugging_internal::AddressIsReadable(void const*)' ./usr/local/lib64//libabsl_stacktrace.a(stacktrace.cc.o): In function int UnwindImpl<true, true>(void**, int*, int, int, void const*, int*)': stacktrace.cc:(.text+0x680): undefined reference toabsl::lts_20230125::debugging_internal::AddressIsReadable(void const)' stacktrace.cc:(.text+0x6e4): undefined reference to `absl::lts_20230125::debugging_internal::AddressIsReadable(void const)' ./usr/local/lib64//libabsl_crc_cord_state.a(crc_cord_state.cc.o): In function absl::lts_20230125::crc_internal::CrcCordState::NormalizedPrefixCrcAtNthChunk(unsigned long) const': crc_cord_state.cc:(.text+0x87c): undefined reference toabsl::lts_20230125::RemoveCrc32cPrefix(absl::lts_20230125::crc32c_t, absl::lts_20230125::crc32c_t, unsigned long)' ./usr/local/lib64//libabsl_crc_cord_state.a(crc_cord_state.cc.o): In function absl::lts_20230125::crc_internal::CrcCordState::Normalize()': crc_cord_state.cc:(.text+0xa86): undefined reference toabsl::lts_20230125::RemoveCrc32cPrefix(absl::lts_20230125::crc32c_t, absl::lts_20230125::crc32c_t, unsigned long)' ./usr/local/lib64//libabsl_crc_cord_state.a(crc_cord_state.cc.o): In function absl::lts_20230125::crc_internal::CrcCordState::Checksum() const': crc_cord_state.cc:(.text+0x7ce): undefined reference toabsl::lts_20230125::RemoveCrc32cPrefix(absl::lts_20230125::crc32c_t, absl::lts_20230125::crc32c_t, unsigned long)' collect2: error: ld returned 1 exit status

What did you expect to see

What did you see instead?

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

Anything else we should know about your project / environment

sbenzaquen commented 1 year ago

It seems to me that the Abseil headers used do not match the precompiled libraries linked in. Maybe your system has more than one version of Abseil installed? Alternatively, you could build using bazel which should take care of the dependencies.

jxh-cuit commented 1 year ago

Yeah I got wrong version of Abseil, the above commands seems will install Abseil automatically. I changed it to the latest version and it worked. Thanks for replying!