This might seem like an odd pattern, but I'm looking to retrofit an existing client/server framework with gRPC. That has led me to a question and an issue.
FIrst, the question. The "Use Server Reflection in a C++ Client" secion of the Server Reflection Tutorial <https://github.com/grpc/grpc/blob/master/doc/server_reflection_tutorial.md> mentions using the grpc::ProtoReflectionDescriptorDatabase class as the basis of that interaction. That seems to require me to link in libgrpc++_proto_reflection_desc_db.a which as far as I can tell has no "install" option in the makefile provided. Is staticlly linking it from the grpc/lib/opts directory the recomended pattern or am I missing something? To try things out I went ahead and linked it into my client/server framework library directly. However, from there I'm having issues getting my test server to startup when linking in both my client/server dynamic library (that statically links libgrpc++_proto_reflectin_desc_db.a) and libgrpc++_reflection.so. The error in question is this: [libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: src/proto/grpc/reflection/v1alpha/reflection.proto [libprotobuf FATAL google/protobuf/descriptor.cc:1358] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): terminate called after throwing an instance of 'google::protobuf::FatalException' what(): CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): I'm planning to continue digging in to see if I can figure out why that's an issue, but the comment foujnd in descriptor.cc around this exception throw isn't initial obvious to me (as a novice) what exactly I might be doing wrong. Hoping the community might have some insight into whether or not those 2 libraries are inherently incompatable inside the same process. As far as I can tell I don't even get to the creation of the actual ProtoReflectionDescriptorDatabase construction the error happens while the process is starting up. Thanks in advance for any advice on those topics. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/2aeb99b6-5fa7-47a7-aa44-322648af7aaf%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
