Skip to content

[BUG] Fixed ARM Builds#7240

Closed
johnnynunez wants to merge 44 commits intoisl-org:mainfrom
johnnynunez:main
Closed

[BUG] Fixed ARM Builds#7240
johnnynunez wants to merge 44 commits intoisl-org:mainfrom
johnnynunez:main

Conversation

@johnnynunez
Copy link
Contributor

@johnnynunez johnnynunez commented May 8, 2025

FIXES: #7130
ARM64 Linux builds are not available due to a runtime dynamic linker error: "cannot allocate memory in static TLS block"

Context:

Error migrate from 18.04 to 20.04 with glibc bugged.

Fixed:

Arm builds come back to build again without LTS Block problem.

Includes CUDA ARM Working again with >=12.1 cuda. Tested on Jetson and GH200
Necessary changes:

Upgrade dockers to 22.04
Upgrade filament
Upgrade openblas to support Grace GH200 and newer instructions and fixes for Parallel
Fix Some cpp to do compatible filament
Fix Cmake for correct path lib
Upgrade cutlass to support GB200 blackwell

errissa and others added 30 commits November 27, 2023 23:37
@update-docs
Copy link

update-docs bot commented May 8, 2025

Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes.

@privvyledge
Copy link

privvyledge commented May 8, 2025

I just tested your branch on a Jetson Orin Nano Super running Jetpack 6.2 within an Nvidia Isaac ROS docker container. I installed dependencies and built with GUI and CUDA support. They both worked. The previous branch failed to build with GUI support, at least for the Jetson due to issues with Filament but after testing with the Open3D view and the OnlineRGBDSlam, I can confirm that the GUI works and that the GPU is being used.
The first issue as of my initial testing is with importing Open3D in python but that is not unique to your branch and has been the same since Open3D 0.18.0 as far a I know but that is fixed by running export LD_PRELOAD=/usr/local/lib/libOpen3D.so before running the python script or starting python.

Another issue occurs when interacting with the GUIs, such as toggling a button in "OnlineSLAMRGBD", "OnlineSLAMRealSense" or the python dense_gui_slam.py equivalent, I get "Segmentation fault (core dumped)" and the program either hangs, crashes or closes.

Thank you.

@johnnynunez
Copy link
Contributor Author

I just tested your branch on a Jetson Orin Nano Super running Jetpack 6.2 within an Nvidia Isaac ROS docker container. I installed dependencies and built with GUI and CUDA support. They both worked. The previous branch failed to build with GUI support, at least for the Jetson due to issues with Filament but after testing with the Open3D view and the OnlineRGBDSlam, I can confirm that the GUI works and that the GPU is being used. The first issue as of my initial testing is with importing Open3D in python but that is not unique to your branch and has been the same since Open3D 0.18.0 as far a I know but that is fixed by running export LD_PRELOAD=/usr/local/lib/libOpen3D.so before running the python script or starting python.

Another issue occurs when interacting with the GUIs, such as toggling a button in "OnlineSLAMRGBD", "OnlineSLAMRealSense" or the python dense_gui_slam.py equivalent, I get "Segmentation fault (core dumped)" and the program either hangs, crashes or closes.

Thank you.

Thanks, really appreciate! All tests are not passing so I need help maybe for fix them.
But yeah, it was a headeach the problem of TLS memory block

@johnnynunez
Copy link
Contributor Author

I just tested your branch on a Jetson Orin Nano Super running Jetpack 6.2 within an Nvidia Isaac ROS docker container. I installed dependencies and built with GUI and CUDA support. They both worked. The previous branch failed to build with GUI support, at least for the Jetson due to issues with Filament but after testing with the Open3D view and the OnlineRGBDSlam, I can confirm that the GUI works and that the GPU is being used. The first issue as of my initial testing is with importing Open3D in python but that is not unique to your branch and has been the same since Open3D 0.18.0 as far a I know but that is fixed by running export LD_PRELOAD=/usr/local/lib/libOpen3D.so before running the python script or starting python.

Another issue occurs when interacting with the GUIs, such as toggling a button in "OnlineSLAMRGBD", "OnlineSLAMRealSense" or the python dense_gui_slam.py equivalent, I get "Segmentation fault (core dumped)" and the program either hangs, crashes or closes.

Thank you.

we will upload wheels here with cuda support:
https://pypi.jetson-ai-lab.dev/jp6/cu126
https://pypi.jetson-ai-lab.dev/jp6/cu128
https://pypi.jetson-ai-lab.dev/sbsa/cu128

I also ported to jetson-containers https://github.com/dusty-nv/jetson-containers/tree/master/packages/cv/open3d

@privvyledge
Copy link

I just tested your branch on a Jetson Orin Nano Super running Jetpack 6.2 within an Nvidia Isaac ROS docker container. I installed dependencies and built with GUI and CUDA support. They both worked. The previous branch failed to build with GUI support, at least for the Jetson due to issues with Filament but after testing with the Open3D view and the OnlineRGBDSlam, I can confirm that the GUI works and that the GPU is being used. The first issue as of my initial testing is with importing Open3D in python but that is not unique to your branch and has been the same since Open3D 0.18.0 as far a I know but that is fixed by running export LD_PRELOAD=/usr/local/lib/libOpen3D.so before running the python script or starting python.
Another issue occurs when interacting with the GUIs, such as toggling a button in "OnlineSLAMRGBD", "OnlineSLAMRealSense" or the python dense_gui_slam.py equivalent, I get "Segmentation fault (core dumped)" and the program either hangs, crashes or closes.
Thank you.

we will upload wheels here with cuda support: https://pypi.jetson-ai-lab.dev/jp6/cu126 https://pypi.jetson-ai-lab.dev/jp6/cu128 https://pypi.jetson-ai-lab.dev/sbsa/cu128

I also ported to jetson-containers https://github.com/dusty-nv/jetson-containers/tree/master/packages/cv/open3d

In case you need more feedback as this evolves, let me know. Just tested the wheels for Cuda 12.6 since thats what my Jetson is running and the others are for python 3.12. The python module can successfully be imported without the need for the LD_PRELOAD command. However, the output of open3d.core.cuda.is_available() is False and it also suffers from the previous GUI issues I mentioned.

In case you need any help with some of the issues let me know but I doubt I would be much help since I am taking classes and working at the moment.

@johnnynunez
Copy link
Contributor Author

I just tested your branch on a Jetson Orin Nano Super running Jetpack 6.2 within an Nvidia Isaac ROS docker container. I installed dependencies and built with GUI and CUDA support. They both worked. The previous branch failed to build with GUI support, at least for the Jetson due to issues with Filament but after testing with the Open3D view and the OnlineRGBDSlam, I can confirm that the GUI works and that the GPU is being used. The first issue as of my initial testing is with importing Open3D in python but that is not unique to your branch and has been the same since Open3D 0.18.0 as far a I know but that is fixed by running export LD_PRELOAD=/usr/local/lib/libOpen3D.so before running the python script or starting python.
Another issue occurs when interacting with the GUIs, such as toggling a button in "OnlineSLAMRGBD", "OnlineSLAMRealSense" or the python dense_gui_slam.py equivalent, I get "Segmentation fault (core dumped)" and the program either hangs, crashes or closes.
Thank you.

we will upload wheels here with cuda support: https://pypi.jetson-ai-lab.dev/jp6/cu126 https://pypi.jetson-ai-lab.dev/jp6/cu128 https://pypi.jetson-ai-lab.dev/sbsa/cu128
I also ported to jetson-containers https://github.com/dusty-nv/jetson-containers/tree/master/packages/cv/open3d

In case you need more feedback as this evolves, let me know. Just tested the wheels for Cuda 12.6 since thats what my Jetson is running and the others are for python 3.12. The python module can successfully be imported without the need for the LD_PRELOAD command. However, the output of open3d.core.cuda.is_available() is False and it also suffers from the previous GUI issues I mentioned.

In case you need any help with some of the issues let me know but I doubt I would be much help since I am taking classes and working at the moment.

Ah! Thank you. I upload wrong wheel on jp6, i will upload later

@ssheorey ssheorey requested review from benjaminum and ssheorey May 14, 2025 14:23
@ssheorey
Copy link
Member

Hi @johnnynunez thanks for this great PR. This provides many needed updates and fixes.

Can you take a look at the CI failures?

@johnnynunez
Copy link
Contributor Author

Hi @johnnynunez thanks for this great PR. This provides many needed updates and fixes.

Can you take a look at the CI failures?

I’m on Taiwan Computex. When I arrive at home. I will check

@johnnynunez johnnynunez closed this by deleting the head repository Jun 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dynamic linker build error on Linux ARM64 prevents Linux ARM64 wheels for 0.19 release

4 participants