-
Notifications
You must be signed in to change notification settings - Fork 113
Feature/dds 7.5.0 #1122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Feature/dds 7.5.0 #1122
Conversation
Signed-off-by: lobolanja <[email protected]>
…I license key Signed-off-by: lobolanja <[email protected]>
|
Hi @lobolanja , thank you for your contribution. Maybe @ibstewart could help validate the proposed changes on arm64? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall the change looks good (just a few trivial things that would need addressing), but unfortunately I just tried building with this change on arm64 and I'm getting this build error:
CMake Error at /opt/rti.com/rti_connext_dds-7.5.0/resource/cmake/FindRTIConnextDDS.cmake:1410 (message):
architecture is unsupported by this module
I tried making it work by fixing the bootstrap.sh script to use the armv8 version of the rtisetenv script instead, and then tried getting the CONNEXTDDS_ARCH env variable into the container to use it for the build, but I'm having trouble getting that both (a) available inside the container, and (b) available to the holohub.py script for use at build time, since that needs to be provided as a cmake variable.
Unfortunately I don't have more cycles to look into fixing the build, but maybe somebody more familiar with the holohub build scripts and/or docker could take a look(@tbirdso)?
|
|
||
|
|
||
| ## Building the Application | ||
| ## Building locally the Application |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be Building the application locally
| # Install connext 7.5.0 from .deb package | ||
| # Download the public key for the RTI APT repository | ||
| RUN curl -sSL -o /usr/share/keyrings/rti-official-archive.gpg \ | ||
| https://packages.rti.com/deb/official/repo.key |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This second line should be indented
|
|
||
| ```sh | ||
| $ ./holohub build dds_video --configure-args="-DRTI_CONNEXT_DDS_DIR=~/rti/rti_connext_dds-7.3.0" | ||
| $ ./holohub build dds_video" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the trailing "
|
I found a bit more time and was able to get a working arm64 build, though unfortunately it looks like my RTI license expired so I'm not actually able to run it at the moment. It was at least able to run to the point of telling me it's expired, so I think that means it should otherwise be working? Here's the patch that I applied on top of this PR to fix the arm64 build: |
|
@lobolanja Could you please update the copyright date of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional Comments (1)
-
applications/dds/dds_video/Dockerfile, line 18-26 (link)syntax: duplicate ARG declarations for BASE_IMAGE and GPU_TYPE - lines 18-19 are redundant with lines 25-26
6 files reviewed, 6 comments
| ```sh | ||
| # 1. Build and launch the container | ||
| ./holohub run-container dds_video --docker-opts="-v $HOME/rti_connext_dds-7.3.0:/opt/rti.com/rti_connext_dds-7.3.0/" | ||
| ./holohub run-container dds_video --docker-opts="-v ./rti_license.dat:/opt/rti.com/rti_connext_dds-7.5.0/rti_license.dat" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
syntax: Trailing whitespace on this line
| # 1. Build and launch the container | ||
| ./holohub run-container dds_video --docker-opts="-v $HOME/rti_connext_dds-7.3.0:/opt/rti.com/rti_connext_dds-7.3.0/" | ||
| ./holohub run-container dds_video --docker-opts="-v ./rti_license.dat:/opt/rti.com/rti_connext_dds-7.5.0/rti_license.dat" | ||
| # 3. Build the application |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
syntax: Step numbering is incorrect - this says # 3. but should be # 2. since there's no step 2 listed
| any application using one of these operators. To build on an IGX devkit (using | ||
| - **RTI Connext 7.5.0 Express** | ||
| - Provides access to the DDS domain. | ||
| - Already included if using the [container build](../../applications/dds/dds_video/Dockerfile) you can find in the dds_video application directory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: line exceeds 100 characters (109 chars), consider wrapping to next line
| up to step 5 (Installing Java and setting JREHOME). | ||
|
|
||
| To build the operators, the `RTI_CONNEXT_DDS_DIR` CMake variable must point to | ||
| To build the operators out of the dockerfile, the `RTI_CONNEXT_DDS_DIR` CMake variable must point to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: "out of the dockerfile" is unclear - should this be "outside of the Docker container" or "when building natively"? What specific build scenario is this referring to?
|
|
||
| ```sh | ||
| $ ./holohub build dds_video --configure-args="-DRTI_CONNEXT_DDS_DIR=~/rti/rti_connext_dds-7.3.0" | ||
| $ ./holohub build dds_video" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
syntax: missing closing double-quote - should be $ ./holohub build dds_video
Summary
This PR updates DDS integration in HoloHub:
Documentation
README.mdfor the DDS Video Application, covering prerequisites, Docker/local build steps, and license setup.Dockerfile
dds_videoDockerfile to install RTI Connext DDS 7.5.0 from the official RTI APT repository.rti_license.dat).Testing Notes
Request for Feedback
IGX validation
Please run the DDS Video application (publisher + subscriber) on an IGX box following the updated instructions and confirm it works.
CI integration
Is it possible to add a CI step that at least verifies the DDS operator builds on IGX?
Greptile Overview
Updated On: 2025-10-20 14:57:21 UTC
Greptile Summary
This PR upgrades HoloHub's DDS integration from RTI Connext 7.3.0 to 7.5.0, modernizing the installation approach and improving developer experience. The key change replaces manual RTI installation with automated APT repository installation directly in the container, eliminating the need to mount the entire DDS SDK at runtime. Only the license file (
rti_license.dat) needs to be mounted now. Documentation has been restructured with clearer prerequisites, step-by-step Docker instructions, and simplified build commands. The.gitignorewas updated to exclude RTI workspace artifacts, and metadata now explicitly references the DDS Dockerfile. This change integrates with HoloHub's existing operator/application structure by ensuring the DDS operators can be built with a well-defined, reproducible container environment rather than depending on host-specific manual installations.Important Files Changed
Changed Files
.gitignorerti_workspace/pattern to exclude RTI Connext workspace artifacts from version controlapplications/dds/dds_video/Dockerfileapplications/dds/dds_video/bootstrap.shapplications/dds/dds_video/README.mdoperators/dds/README.mdoperators/dds/metadata.jsonConfidence score: 3/5
bootstrap.shthat contradicts PR's ARM/IGX support claims, (2) syntax error inoperators/dds/README.mdline 33 (unclosed quote), (3) duplicate ARG declarations in Dockerfile lines 18-19 and 25-26, and (4) incomplete build command example in operators README.applications/dds/dds_video/bootstrap.sh(architecture hardcoding),operators/dds/README.md(syntax error at line 33), andapplications/dds/dds_video/Dockerfile(duplicate ARG declarations and curl dependency).