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 fixes for v0.19 #7128

Merged
merged 5 commits into from
Jan 7, 2025
Merged

Build fixes for v0.19 #7128

merged 5 commits into from
Jan 7, 2025

Conversation

ssheorey
Copy link
Member

@ssheorey ssheorey commented Jan 6, 2025

Prevent libomp linking when libomp5-dev is installed, due to cmake adding the libc++ dir as a linker search path. In sycl mode, libiomp is the default OMP runtime.

Do not install clang to prevent libomp-dev being installed. DEVELOPER_BUILD option for SYCL CI
ccache gz -> xz
Use cxx11 abi pytorch to allow building both torch and tf docs at once.

glew updated to latest (v2.2)

GLFW detects platform at runtime (except NULL for headless rendering). Only glew needs separate build for HEADLESS rendering.

Issues in current build:

  • SYCL CI does not allow turning off the git hash name (DEVELOPER_MODE env var)
  • SYCL wheel libOpen3D.so links both libiomp5 and libomp5 (with BUILD)SHARED_LIBS only).
  • ENABLE_HEADLESS_RENDERING does not work with OSMesa with the new GLFW v3.4 with draw_geometries()
[Open3D WARNING] GLFW Error: Failed to detect any supported platform
[Open3D WARNING] Failed to initialize GLFW

GLFW

Type

  • Bug fix (non-breaking change which fixes an issue): Fixes #
  • New feature (non-breaking change which adds functionality). Resolves #
  • Breaking change (fix or feature that would cause existing functionality to not work as expected) Resolves #

Motivation and Context

Checklist:

  • I have run python util/check_style.py --apply to apply Open3D code style
    to my code.
  • This PR changes Open3D behavior or adds new functionality.
    • Both C++ (Doxygen) and Python (Sphinx / Google style) documentation is
      updated accordingly.
    • I have added or updated C++ and / or Python unit tests OR included test
      results
      (e.g. screenshots or numbers) here.
  • I will follow up and update the code if CI fails.
  • For fork PRs, I have selected Allow edits from maintainers.

Description

…ding the libc++ dir as a linker search path. In sycl mode, libiomp is the default OMP runtime.

Do not install clang to prevent libomp-dev being installed.
DEVELOPER_BUILD option for SYCL CI
ccache gz -> xz
Dockerfile for building docs.
Use cxx11 abi pytorch to allow building both torch and tf docs at once.
Copy link

update-docs bot commented Jan 6, 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.

@ssheorey ssheorey requested a review from benjaminum January 7, 2025 00:03
@ssheorey ssheorey merged commit 1e7b174 into main Jan 7, 2025
5 of 38 checks passed
@ssheorey ssheorey deleted the ss/v0.19-fixes branch January 7, 2025 23:20
@johnthagen
Copy link
Contributor

johnthagen commented Jan 8, 2025

@ssheorey I noticed 0.19 was published to PyPI but there are no Linux ARM64 wheels (-manylinux_2_27_aarch64.whl). I saw that for 0.18 it took a day to get ARM64 wheels out, but just wanted to report this in case it got overlooked

@ssheorey
Copy link
Member Author

ssheorey commented Jan 8, 2025

There's a dynamic linker error on Linux ARM64 that's preventing releasing the wheels. Please see the release notes and the CI run with the error here:

ARM64 Linux builds are not available due to a runtime dynamic linker error: "cannot allocate memory in static TLS block". e.g. see here.

Happy to release with a fix if someone can contribute a fix for the error.

@johnthagen
Copy link
Contributor

@ssheorey Thanks for the reference. I opened an issue to track this

@nanotuxi
Copy link

nanotuxi commented Jan 9, 2025

@ssheorey said "BUILD_HEADLESS_RENDERING option (OSMesa) gives a build error in Ubuntu 24.04"

This workaround seems to fix headless rendering for Open3D on Ubuntu 24.04
sudo sed -i 's/APIENTRY//' /usr/include/GL/osmesa.h

It can be undone with:
sudo apt reinstall libosmesa6-dev

But it's not for the faint of heart.

see nigels-com/glew#411 (comment)

works in current version, but you should set the parameter allow_arbitrary=True, i.e.,
view_control.convert_from_pinhole_camera_parameters(cam_params, allow_arbitrary=True)
in the python example

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.

3 participants