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] OpenVDB fails to build with LLVM 18 #1804

Open
onitake opened this issue May 6, 2024 · 1 comment
Open

[BUILD] OpenVDB fails to build with LLVM 18 #1804

onitake opened this issue May 6, 2024 · 1 comment
Labels

Comments

@onitake
Copy link

onitake commented May 6, 2024

Environment

Operating System: Debian Linux sid
Version / Commit SHA: 11.0.0
Other: (e.g compiler, C++ standard etc.)

Describe the bug

OpenVDB fails to compile with any recent LLVM releases.

To Reproduce

Steps to reproduce the behavior:

  1. Build with LLVM 18.x
  2. See error:
CMake Error at openvdb_ax/openvdb_ax/CMakeLists.txt:118 (message):
  OpenVDB AX does not currently support LLVM versions >= 16 due to opaque
  pointer changes in LLVM.  Found unsuitable LLVM version "18.1.5"

Expected behavior

OpenVDB should be compatible with recent stable LLVM releases.
LLVM 16 was released two years ago, and the current version is 18.

Additional context

This incompatibility is currently causing problems on Debian, because LLVM 15 is planned for removal from the next stable release, and it's blocking a number of packages that depend on OpenVDB (Blender, for example).

See this bug report for more information: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061216

What exactly is the problem with opaque pointers in OpenVDB / LLVM 16+ ?

@onitake onitake added the bug label May 6, 2024
@Idclip
Copy link
Contributor

Idclip commented May 7, 2024

What exactly is the problem with opaque pointers in OpenVDB / LLVM 16+ ?

The opaque pointers change is a fundamental design/behaviour change in LLVM. OpenVDB AX will most likely crash using LLVM 16 and probably fail to compile entirely under LLVM 17/18. Most software that uses LLVM will have had to go through a similar transition. There are migration guidelines, but different projects will have different levels of complexity depending on their use of typed pointer components - and we use them a fair amount in AX.

https://llvm.org/docs/OpaquePointers.html

OpenVDB should be compatible with recent stable LLVM releases. LLVM 16 was released two years ago, and the current version is 18.

This is simply a resourcing issue, we haven't had the time to commit to updating. I will do my best to see if I can solve this in the short term but unfortunately can't make any deadline promises.

@Idclip Idclip added ax and removed bug labels May 7, 2024
@Idclip Idclip changed the title [BUG] OpenVDB fails to build with LLVM 18 [BUILD] OpenVDB fails to build with LLVM 18 May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants