From 0a623bb75651129b8062f834eebea18f89e3caec Mon Sep 17 00:00:00 2001 From: Luya Tshimbalanga Date: Mar 29 2024 01:25:53 +0000 Subject: Enable backward compatibility for ABI 10 - This update fixes built for Blender with OpenVDB enabled --- diff --git a/openvdb.spec b/openvdb.spec index 42e3d57..968c297 100644 --- a/openvdb.spec +++ b/openvdb.spec @@ -10,6 +10,12 @@ # Optional supports %global with_openexr 1 %global with_ax 0 +%global with_nanovdb 1 + +# ax currently incompatible with newer llvm versions +%if 0%{?fedora} >= 38 || 0%{?rhel} >= 8 +%global llvm_compat 15 +%endif Name: openvdb Version: 11.0.0 @@ -36,7 +42,7 @@ BuildRequires: gcc-c++ BuildRequires: ghostscript >= 8.70 BuildRequires: libstdc++-devel %if 0%{?with_ax} -BuildRequires: llvm-devel +BuildRequires: llvm%{?llvm_compat}-devel BuildRequires: pkgconfig(libffi) %endif BuildRequires: pkgconfig(blosc) >= 1.5.0 @@ -129,9 +135,15 @@ sed -i \ export CXXFLAGS="%{build_cxxflags} -Wl,--as-needed" # Ignore versions (python 3, etc.) +# Set ABI version to address blender compatibility for +# Fedora 40 and onward %cmake \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=TRUE \ -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ +%if 0%{?fedora} > 39 + -DOPENVDB_ABI_VERSION_NUMBER=10 \ + -DOPENVDB_USE_DEPRECATED_ABI_10=ON \ +%endif -DOPENVDB_BUILD_DOCS=ON \ %if 0%{?fedora} -DOPENVDB_BUILD_PYTHON_MODULE=ON \ @@ -145,12 +157,18 @@ export CXXFLAGS="%{build_cxxflags} -Wl,--as-needed" %if 0%{?with_ax} -DHAVE_FFI_CALL=ON \ -DUSE_AX=ON \ + -DLLVM_STATIC=0 \ + -DLLVM_CONFIG=$(which llvm-config%{?llvm_compat:-%{llvm_compat}}) \ + -DLLVM=%{_bindir} \ %endif %if 0%{?with_openexr} -DUSE_EXR=ON \ %endif - -DUSE_NANOVDB=ON - +%if 0%{?with_nanovdb} + -DUSE_NANOVDB=ON \ + -DOPENVDB_BUILD_NANOVDB=ON \ + -DNANOVDB_USE_OPENVDB=ON +%endif # Increase memory reserve to 12GB per build thread for a successful build on # ppc64le and s390x. %cmake_build %limit_build -m 12288 @@ -171,7 +189,7 @@ find %{buildroot} -name '*.a' -delete %files %{_bindir}/vdb_print -%{_bindir}/nanovdb_{print,validate} +%{_bindir}/nanovdb_{convert,print,validate} %files libs %license LICENSE