google / libprotobuf-mutator

Library for structured fuzzing with protobuffers
Apache License 2.0
577 stars 115 forks source link

clang++ filed #223

Open z1r00 opened 1 year ago

z1r00 commented 1 year ago

test.proto

syntax = "proto2";

message TEST {
  required uint32 a = 1;
  required string b = 2;
}

test_proto.cc

#include "test.pb.h"

#include <bits/stdc++.h>

using std::cin;
using std::cout;
using std::endl;

int main(int argc, char *argv[])
{
    TEST t;
    t.set_a(101);
    t.set_b("testtest");
    cout << t.a() << endl;
    cout << t.b() << endl;
    return 0;
}

I use clang++ -o test_proto test_proto.cc test.pb.cc /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a -I/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//include i made a lot of mistakes

......
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeAnyValue(google::protobuf::Descriptor const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1280: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeFullTypeName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1072: undefined reference to `absl::lts_20230125::StrAppend(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::SkipFieldValue()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:941: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:998: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1010: undefined reference to `absl::lts_20230125::AsciiStrToLower(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1013: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::SkipFieldMessage()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:783: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1101: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeFieldMessage(google::protobuf::Message*, google::protobuf::Reflection const*, google::protobuf::FieldDescriptor const*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:747: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeFieldValue(google::protobuf::Message*, google::protobuf::Reflection const*, google::protobuf::FieldDescriptor const*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:901: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:930: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:930: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeIdentifier(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1053: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `bool absl::lts_20230125::numbers_internal::safe_strtoi_base<int>(absl::lts_20230125::string_view, int*, int)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/numbers.h:222: undefined reference to `absl::lts_20230125::numbers_internal::safe_strto32_base(absl::lts_20230125::string_view, int*, int)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeUnsignedInteger(unsigned long*, unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1120: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1126: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeDouble(double*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1219: undefined reference to `absl::lts_20230125::AsciiStrToLower(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1228: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1233: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Parser::ParserImpl::ConsumeUnsignedDecimalAsDouble(double*, unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1172: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1178: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Printer::FastFieldValuePrinterUtf8Escaping::PrintString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::TextFormat::BaseTextGenerator*) const':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1606: undefined reference to `absl::lts_20230125::Utf8SafeCEscape[abi:cxx11](absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Printer::TextGenerator::Outdent()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1441: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1441: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::TextFormat::Printer::TextGenerator::WriteIndent()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1535: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:1535: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > > > >::prepare_insert(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2477: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2482: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > > > >::resize(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2326: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<google::protobuf::TextFormat::ParseLocationRange, std::allocator<google::protobuf::TextFormat::ParseLocationRange> > > > >::drop_deletes_without_resize()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2349: undefined reference to `absl::lts_20230125::container_internal::DropDeletesWithoutResize(absl::lts_20230125::container_internal::CommonFields&, absl::lts_20230125::container_internal::PolicyFunctions const&, void*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > > > >::prepare_insert(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2477: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2482: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > > > >::resize(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2326: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::vector<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> >, std::allocator<std::unique_ptr<google::protobuf::TextFormat::ParseInfoTree, std::default_delete<google::protobuf::TextFormat::ParseInfoTree> > > > > > >::drop_deletes_without_resize()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2349: undefined reference to `absl::lts_20230125::container_internal::DropDeletesWithoutResize(absl::lts_20230125::container_internal::CommonFields&, absl::lts_20230125::container_internal::PolicyFunctions const&, void*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > > > >::prepare_insert(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2477: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2482: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > > > >::resize(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2326: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::FieldDescriptor const*, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::FieldDescriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::FieldDescriptor const* const, std::unique_ptr<google::protobuf::TextFormat::FastFieldValuePrinter const, std::default_delete<google::protobuf::TextFormat::FastFieldValuePrinter const> > > > >::drop_deletes_without_resize()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2349: undefined reference to `absl::lts_20230125::container_internal::DropDeletesWithoutResize(absl::lts_20230125::container_internal::CommonFields&, absl::lts_20230125::container_internal::PolicyFunctions const&, void*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::Descriptor const*, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::Descriptor const* const, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > > > >::prepare_insert(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2477: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2482: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::Descriptor const*, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::Descriptor const* const, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > > > >::resize(unsigned long)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2326: undefined reference to `absl::lts_20230125::container_internal::FindInfo absl::lts_20230125::container_internal::find_first_non_full<void>(absl::lts_20230125::container_internal::CommonFields const&, unsigned long)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `absl::lts_20230125::container_internal::raw_hash_set<absl::lts_20230125::container_internal::FlatHashMapPolicy<google::protobuf::Descriptor const*, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > >, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Hash, absl::lts_20230125::container_internal::HashEq<google::protobuf::Descriptor const*, void>::Eq, std::allocator<std::pair<google::protobuf::Descriptor const* const, std::unique_ptr<google::protobuf::TextFormat::MessagePrinter const, std::default_delete<google::protobuf::TextFormat::MessagePrinter const> > > > >::drop_deletes_without_resize()':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h:2349: undefined reference to `absl::lts_20230125::container_internal::DropDeletesWithoutResize(absl::lts_20230125::container_internal::CommonFields&, absl::lts_20230125::container_internal::PolicyFunctions const&, void*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(text_format.cc.o): in function `google::protobuf::MapEntryMessageComparator::operator()(google::protobuf::Message const*, google::protobuf::Message const*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:2328: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/text_format.cc:2328: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(any_lite.cc.o): in function `google::protobuf::internal::GetTypeUrl[abi:cxx11](absl::lts_20230125::string_view, absl::lts_20230125::string_view)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/any_lite.cc:46: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/any_lite.cc:48: undefined reference to `absl::lts_20230125::StrCat[abi:cxx11](absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&, absl::lts_20230125::AlphaNum const&)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `google::protobuf::io::NoLocaleStrtod(char const*, char**)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:86: undefined reference to `absl::lts_20230125::from_chars(char const*, char const*, double&, absl::lts_20230125::chars_format)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `google::protobuf::io::(anonymous namespace)::DoubleToBuffer(double, char*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:249: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:249: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:263: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:263: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `google::protobuf::io::(anonymous namespace)::FloatToBuffer(float, char*)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:211: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:211: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:219: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20230125::string_view)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/src/google/protobuf/io/strtod.cc:219: undefined reference to `absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `_ZN4absl12lts_202301258SNPrintFIJEEEiPcmRKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKS5_':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/str_format.h:460: undefined reference to `absl::lts_20230125::str_format_internal::SnprintF(char*, unsigned long, absl::lts_20230125::str_format_internal::UntypedFormatSpecImpl, absl::lts_20230125::Span<absl::lts_20230125::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `_ZN4absl12lts_202301258SNPrintFIJidEEEiPcmRKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKS5_':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/str_format.h:460: undefined reference to `absl::lts_20230125::str_format_internal::SnprintF(char*, unsigned long, absl::lts_20230125::str_format_internal::UntypedFormatSpecImpl, absl::lts_20230125::Span<absl::lts_20230125::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `void absl::lts_20230125::str_format_internal::FormatArgImpl::Init<double>(double const&)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h:523: undefined reference to `bool absl::lts_20230125::str_format_internal::FormatArgImpl::Dispatch<double>(absl::lts_20230125::str_format_internal::FormatArgImpl::Data, absl::lts_20230125::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `_ZN4absl12lts_202301258SNPrintFIJifEEEiPcmRKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKS5_':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/str_format.h:460: undefined reference to `absl::lts_20230125::str_format_internal::SnprintF(char*, unsigned long, absl::lts_20230125::str_format_internal::UntypedFormatSpecImpl, absl::lts_20230125::Span<absl::lts_20230125::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: /home/ubuntu/github/libprotobuf-mutator/build/external.protobuf//lib/libprotobufd.a(strtod.cc.o): in function `void absl::lts_20230125::str_format_internal::FormatArgImpl::Init<float>(float const&)':
/home/ubuntu/github/libprotobuf-mutator/build/external.protobuf/src/external.protobuf/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h:523: undefined reference to `bool absl::lts_20230125::str_format_internal::FormatArgImpl::Dispatch<float>(absl::lts_20230125::str_format_internal::FormatArgImpl::Data, absl::lts_20230125::str_format_internal::FormatConversionSpecImpl, void*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [makefile:9: test_proto] Error 1

how can i solve

moonflowersl commented 1 year ago

I made these problom too. I tride to changed Cpp14 to Cpp 17. But Error.

z1r00 commented 1 year ago

I solved it by lowering the version, this is a problem with the new version af3bb18749db3559dc4968dd85319d05168d4b5e commit it works

Arashimu commented 1 year ago

I encounter the same problem.Do I just need to lower the version of libprotobuf, and any version of clang or protoc is fine?

z1r00 commented 1 year ago

yeah, only need to change libprotobuf

Arashimu commented 1 year ago

so crazy!!!

Arashimu commented 1 year ago

But when I install the libprotobuf v1.0,new issue appears as follow:

FAILED: external.googletest/src/external.googletest-stamp/external.googletest-build external.googletest/lib/libgtest.a external.googletest/lib/libgmock.a external.googletest/lib/libgtest_main.a /home/admin/Fuzzer/libprotobuf-mutator-1.0/build/external.googletest/src/external.googletest-stamp/external.googletest-build /home/admin/Fuzzer/libprotobuf-mutator-1.0/build/external.googletest/lib/libgtest.a /home/admin/Fuzzer/libprotobuf-mutator-1.0/build/external.googletest/lib/libgmock.a /home/admin/Fuzzer/libprotobuf-mutator-1.0/build/external.googletest/lib/libgtest_main.a

I use the clang-15 and protoc-3.12.4

z1r00 commented 1 year ago

My protoc version protoc-3.21.7.0, clang version 10.0.0-4ubuntu1

Picasso-r commented 1 year ago

Will I fail if I use a higher version clang such as clang 14.0 with protoc version 22