Skip to content
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

Build Issues #26

Open
snehabanda30 opened this issue Feb 20, 2025 · 5 comments
Open

Build Issues #26

snehabanda30 opened this issue Feb 20, 2025 · 5 comments
Assignees
Labels
build-error Build errors

Comments

@snehabanda30
Copy link

I am trying to build the orb_slam_3 algorithm on my Ubuntu 22.04, using the ROS:Humble workspace on my Jetson Orin Nano. However, I am running into issues with the build. This is the docker file, which installs pangolin. I create the ros_test workspace, disregard that it creates ros_ws in the file. However, I am still running into issues. I have uploaded my dockerfile.

Image

pangolin is installed
Image

Dockerfile (1).txt

@Mechazo11
Copy link
Owner

Hi @snehabanda30,

Thank you for reaching out. Unfortunately, I don't have a Orin Nano to help you troubleshoot this issue directly. Furthermore, a photo of the console window often is insufficient to analyze build errors.

Having said that, to figure out a solution, I would need the following information

  1. Jetson Orin Nano (and its software upgraded Super version) supports Ubuntu 22.04 and ROS 2 Humble natively. Why are you trying a Docker build without doing a native build first?

  2. Orin Nano super has 8GB RAM. ORB-SLAM3 in my own and a few other users of this repo observed that build failure often happens due to insufficient RAM. There is a strong possibility this is the case too. A workaround is to assign 16GB of SWAP space that emulates RAM on the disk. See this article for more info: https://www.forecr.io/blogs/programming/how-to-increase-swap-space-on-jetson-modules

  3. Can you copy the error message from the console window and format it in Github Markdown so that I can see the entire error log. Please refer to this article: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

Best,
@Mechazo11

@Mechazo11 Mechazo11 added the build-error Build errors label Feb 21, 2025
@Mechazo11 Mechazo11 self-assigned this Feb 21, 2025
@jesseknuckles
Copy link

So I tried it locally instead of docker, and I was able to build pangolin without any issues, but I am running into issues with the download.

/usr/bin/ld: /home/c9-jetson1/ros2_test/src/ros2_orb_slam3/orb_slam3/Thirdparty/DBoW2/lib/libDBoW2.so: error adding symbols: file in wrong format
clang: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [CMakeFiles/orb_slam3_lib.dir/build.make:645: liborb_slam3_lib.so.] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/orb_slam3_lib.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< ros2_orb_slam3 [5min 26s, exited with code 2]
                                      
Summary: 0 packages finished [5min 27s]
  1 package failed: ros2_orb_slam3
  1 package had stderr output: ros2_orb_slam3

@Mechazo11
Copy link
Owner

@jesseknuckles the error suggests the libDBow2.so object was built for a CPU architecture not supported by Jetson Orin Nano. Can you try this command (ChatGPT suggested)

file /home/c9-jetson1/ros2_test/src/ros2_orb_slam3/orb_slam3/Thirdparty/DBoW2/lib/libDBoW2.so

In my opinion, you may have to rebuild the DBoW2 library from scratch inside Orin Nano, then copy over the libDBoW2.so file with the newer version inside ThirdParty/DBoW2 and rerun the build command to build the ros2_orb_slam3 package.

Hope this helps.
Best,
@Mechazo11

@snehabanda30
Copy link
Author

Yes it is built! Realized we got similar issues with g2o as well but we just rebuilt for arm structure. Do you have any experience with using intel real sense D455 camera with this orb slam 3. If so, how did you alter the files to accommodate for real data inputs?

@Mechazo11
Copy link
Owner

Hi @snehabanda30 and @jesseknuckles it is great to hear you have figured out the solution to this build problem.

Can you all describe the steps you took to solving the build issue on Orin Nano? This would really help a lot of other developers trying to use this package in the newer Orin boards.

Regarding how to interface intel realsense camera's live output, I don't have any direct experience with them when using orb slam3.

However, take a look at the python node that I created. Technically, all you need to do is create a python node that reads in the rgb and depth data and passes it to the appropriate method in the Systems class to run ORB-SLAM3 in RGB-D mode. This was my design idea from the very beginning, using Python nodes to perform non-critical data management stuff while C++ took care of executing the core logic of ORB SLAM 3.

Hope this helps.

Best,
@Mechazo11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-error Build errors
Projects
None yet
Development

No branches or pull requests

3 participants