← All tasks
cppAcademySoftwareFoundation/openvdb #1538Not a task: not reproduced

[BUILD] Inconsitencies with ABI versions?

envgap__AcademySoftwareFoundation__openvdb-1538

01 / FAILURE SIGNATURE

As reported upstream

OpenVDB ABI versions earlier than 8 are no longer supported.
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
4dc19b1ef7dce3bc11c646b6cb254a9c97cd18c7
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

AcademySoftwareFoundation/openvdb #1538 · read the original issue
### Environment

**Operating System:** Gentoo Linux 2.9

**Version / Commit SHA:** OpenVDB 10.0.1

**CMake Version:** 3.25.1

**Compiler:** gcc 11.3.1



### Describe the problem

On Gentoo Linux, users can choose to build OpenVDB with a certain ABI compatibility, which is provided through the `OPENVDB_USE_DEPRECATED_ABI_{7..9}` cmake variables. While packaging for OpenVDB 10.0.1 I checked whether the use of ABI 7 is still supported and found some code, which looks like it's showing some inconsistency with this.

In https://github.com/AcademySoftwareFoundation/openvdb/blob/v10.0.1/cmake/config/OpenVDBVersions.cmake#L21 the minimum ABI is declared as ABI 8. However, in https://github.com/AcademySoftwareFoundation/openvdb/blob/v10.0.1/CMakeLists.txt#L138-L140 ABI 7 is still declared as being supported as a deprecated ABI and ABI 9 seems to be missing as a deprecated ABI (maybe it isn't deprecated yet).

When configuring for ABI 7, I get a cmake configuration error, which seems to honor the declaration of the minimum version from `OpenVDBVersions.cmake`:



```

cmake -C /var/tmp/portage-ondisk/portage/media-gfx/openvdb-10.0.1/work/openvdb-10.0.1_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_DOCDIR=share/doc/openvdb-10.0.1/ -DOPENVDB_ABI_VERSION_NUMBER=7 -DOPENVDB_BUILD_DOCS=no -DOPENVDB_BUILD_UNITTESTS=no -DOPENVDB_BUILD_VDB_LOD=no -DOPENVDB_BUILD_VDB_RENDER=no -DOPENVDB_BUILD_VDB_VIEW=no -DOPENVDB_CORE_SHARED=ON -DOPENVDB_CORE_STATIC=no -DOPENVDB_ENABLE_RPATH=OFF -DUSE_AX=no -DUSE_BLOSC=no -DUSE_CCACHE=OFF -DUSE_COLORED_OUTPUT=ON -DUSE_EXR=no -DUSE_IMATH_HALF=ON -DUSE_LOG4CPLUS=ON -DUSE_NANOVDB=no -DUSE_PKGCONFIG=ON -DUSE_PNG=no -DUSE_STATIC_DEPENDENCIES=no -DUSE_TBB=no -DUSE_ZLIB=no -DOPENVDB_USE_DEPRECATED_ABI_7=ON -DOPENVDB_SIMD=AVX -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage-ondisk/portage/media-gfx/openvdb-10.0.1/work/openvdb-10.0.1_build/gentoo_toolchain.cmake /var/tmp/portage-ondisk/portage/media-gfx/openvdb-10.0.1/work/openvdb-10.0.1

loading initial cache file /var/tmp/portage-ondisk/portage/media-gfx/openvdb-10.0.1/work/openvdb-10.0.1_build/gentoo_common_config.cmake

-- The CXX compiler identification is GNU 11.3.1

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Check for working CXX compiler: /usr/sbin/x86_64-pc-linux-gnu-g++ - skipped

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Enabling colored compiler output

-- CMake Build Type: RelWithDebInfo

-- Found PkgConfig: /usr/sbin/x86_64-pc-linux-gnu-pkg-config (found version "1.8.0") 

-- Configuring for OpenVDB Version 10.0.1

CMake Error at CMakeLists.txt:485 (message):

  OpenVDB ABI versions earlier than 8 are no longer supported.





-- Configuring incomplete, errors occurred!

See also "/var/tmp/portage-ondisk/portage/media-gfx/openvdb-10.0.1/work/openvdb-10.0.1_build/CMakeFiles/CMakeOutput.log".

```



From the output it became clear, that I can't support ABI 7 any longer in the package, yet the question stays, if the root CMakeLists.txt is correct with it's reference to ABI 7 and it's missing reference to ABI 9?



Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]