Custom payload generation (libnvds_msgconv.so) - no schema.pb.cc file

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson-AGX Xavier
• DeepStream Version 6.2
• JetPack Version (valid for Jetson only) 5.1
• TensorRT Version 5.1
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) bugs
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
Install Deepstream SDK v6.2 as in the Quickstart Guide - Method #2 .

Then go to cd /opt/nvidia/deepstream/deepstream/sources/libs/nvmsgconv.

Install pre-requisites as in the README file:
sudo apt-get install libglib2.0-dev libjson-glib-dev uuid-dev libyaml-cpp-dev protobuf-compiler

See the README file to learn that
For payload generation using protobuf, proto.schema is provided within deepstream_schema directory.

Run sudo make and see the error:

protoc -I./deepstream_schema --cpp_out=./deepstream_schema/ Makefile
Makefile: File does not reside within any path specified using --proto_path (or -I).  You must specify a --proto_path which encompasses this file.  Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think).
make: *** [Makefile:53: deepstream_schema/schema.pb.cc] Error 1

Then go to cd deepsteam_schema/ to see there’s no schema.pb.cc file inside, only deepstream_schema.cpp, deepstream_schema.h, dsmeta_payload.cpp, eventmsg_payload.cpp.
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description) Not applicable.

I wanted to create a custom payload generation library (as described here in the Message Converter Group parameter msg-conv-msg2p-lib).
I edited the eventmsg_payload.cpp but was unable to compile using make as the file is missing. See the details above.

What should I do? Is there something I’m not seeing?

it should be a bug, currently you might copy that shema.pb.cc from dgpu deepstream SDK, dgpu deepstream sdk

1 Like

It worked, I was able to compile. Thanks!

UPDATE: This does not work! I was able to compile, but the resulting lib was corrupted and caused issues later on (as described in my other thread).

I downloaded deepstream_sdk_v6.1.0_jetson.tbz2, compiled nvmsgconv there with my custom edits, used the resulting libnvds_msgconv.so within my Deepstream 6.2 app and it worked like a charm.

The only difference is that nvmsgconv in DeepStream 6.1 does not allow NVDS_PAYLOAD_DEEPSTREAM_PROTOBUF as an option and does not use schema.pb.cc file to compile.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.