OE4T / tegra-demo-distro

Reference/demonstration distro for meta-tegra
MIT License
73 stars 74 forks source link

build of deepstream 6.2 fails on branch kirkstone with target jetson-agx-xavier-devkit #259

Closed bbuce72 closed 1 year ago

bbuce72 commented 1 year ago

Found issue when updating own distro to kirkstone, so checked build on tegra-demo-distro to verify where issue was.

To recreate:

    git clone https://github.com/OE4T/tegra-demo-distro.git
    cd tegra-demo-distro
    git checkout kirkstone
    git submodule update --init
    . ./setup-env --machine jetson-agx-xavier-devkit 
    bitbake deepstream-6.2

Error test:

    ERROR: deepstream-6.2-6.2.0-1-r0 do_package_qa: QA Issue: /opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_riva_tts.so contained in package deepstream-6.2 requires libgrpc++.so.1.50()(64bit), but no providers found in RDEPENDS:deepstream-6.2? [file-rdeps]
    ERROR: deepstream-6.2-6.2.0-1-r0 do_package_qa: QA Issue: /opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_riva_tts.so contained in package deepstream-6.2 requires libprotobuf.so.32()(64bit), but no providers found in RDEPENDS:deepstream-6.2? [file-rdeps]
madisongh commented 1 year ago

We have some hacks in the recipe to work around some SONAME/dependency issues with those prebuilt libraries. Sounds like the hacks need to be updated to match the actual SONAMEs/versions for gRPC and protobuf.

ichergui commented 1 year ago

I will check that later today and update the branches. Sorry to see that happen to you @bbuce72

bbuce72 commented 1 year ago

No worries, if i can assist with anything (this or otherwise) let me know. Was going to see if i could fix this one myself, but the hack looked like it was tied to grpc and protobuf from a different branch of open embedded, and figured you knew the easiest way to fix. Thanks for your efforts on this, makes Jetson development much easier.

ichergui commented 1 year ago

@bbuce72 I updated the deepstream 6.2 recipe. please try it and let me know if you have any issue

bbuce72 commented 1 year ago

Thanks for the help. Built and flashed ok. Still need to get my distro updated (going from nano to AGX Xavier) to see if the parts I use are ok. Will continue Tuesday. Is there a regression test for deepstream/other tests other than my app to test more functionality? Did see this message about a blacklisted component but for my purpose don't need audio.

root@jetson-agx-xavier-devkit:~# gst-inspect-1.0 -b

(gst-plugin-scanner:1093): GStreamer-WARNING **: 01:28:00.224: Failed to load plugin '/usr/lib/gstreamer-1.0/deepstream/libnvdsgst_inferaudio.so': libnvds_audiotransform.so: cannot open shared object file: No such file or directory Blacklisted files: libcustom2d_preprocess.so libnvdsgst_inferaudio.so

dwalkes commented 1 year ago

Is there a regression test for deepstream/other tests other than my app to test more functionality?

I don't think we have a test defined in the release validation sheet for deepstream outside of the docker container today. It would be great to add one.

ichergui commented 1 year ago

Is there a regression test for deepstream/other tests other than my app to test more functionality?

Yes, we do have a specific recipe for deepstream tests

I tried it before merging the PR. Here is the result

nvstreammux: Successfully handled EOS for source_id=1
Frame Number= 1441 Number of Objects= 15 Vehicle_count= 12 Person_count= 3
Frame Number= 1441 Number of Objects= 0 Vehicle_count= 0 Person_count= 0
Frame Number= 1442 Number of Objects= 0 Vehicle_count= 0 Person_count= 0
End-of-stream
Exiting app

=== PASS:  py_deepstream_test3 ===
Tests run:     6
Tests passed:  6
Tests skipped: 0
Tests failed:  0
sh-5.1# 

If you have any comment please let me know.

dwalkes commented 1 year ago

Added a new row for deepstream tests in the Release Validation sheet.

ichergui commented 1 year ago

Closing this since fix was merged