[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?
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]