Source: openvdb
Version: 13.0.0-2
Severity: serious
Tags: ftbfs patch
Forwarded: 
https://github.com/AcademySoftwareFoundation/openvdb/commit/39a284988ee8c90152a1b717b417739c5a5e9d2d
X-Debbugs-Cc: Antoine Lassagne <[email protected]>

https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=armhf&ver=13.0.0-2&stamp=1789341403&raw=0

...
/build/reproducible-path/openvdb-13.0.0/openvdb/openvdb/unittest/TestValueAccessor.cc:436:46:
 error: static assertion failed
  436 | struct CheckClassSize { static_assert(Expect == Actual); };
      |                                       ~~~~~~~^~~~~~~~~
...


The upstream fix is attached.
>From 804058b4d742a408b15ae1b24e25cc1a6fb3de7c Mon Sep 17 00:00:00 2001
From: Nick Avramoussis <[email protected]>
Date: Wed, 25 Feb 2026 09:43:28 +1300
Subject: Fixed a unit test failure on non 64bit architectures

Signed-off-by: Nick Avramoussis <[email protected]>
---
 openvdb/openvdb/unittest/TestValueAccessor.cc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/openvdb/openvdb/unittest/TestValueAccessor.cc 
b/openvdb/openvdb/unittest/TestValueAccessor.cc
index 947552e3..e08c2a3a 100644
--- a/openvdb/openvdb/unittest/TestValueAccessor.cc
+++ b/openvdb/openvdb/unittest/TestValueAccessor.cc
@@ -432,29 +432,29 @@ TestValueAccessor::multithreadedAccessorTest()
 }
 
 /// Static assert class sizes
-template <typename Type, size_t Expect, size_t Actual = sizeof(Type)>
-struct CheckClassSize { static_assert(Expect == Actual); };
+template <typename Type, bool Flag>
+struct CheckBypassLeafAPI { static_assert(Type::BypassLeafAPI == Flag); };
 
 // Build a type list of all accessor types and make sure they are all the
 // expected size.
-template <typename GridT> using GridToAccCheckA =
-    CheckClassSize<typename GridT::Accessor, 96ul>;
-template <typename GridT> using GridToAccCheckB =
-    CheckClassSize<typename GridT::Accessor, 88ul>;
+template <typename GridT> using GridAccBypasses =
+    CheckBypassLeafAPI<typename GridT::Accessor, true>;
+template <typename GridT> using GridAccDoesNotBypasses =
+    CheckBypassLeafAPI<typename GridT::Accessor, false>;
 
 void StaticAsssertVASizes()
 {
-    // Accessors with a leaf buffer cache have an extra pointer
+    // Accessors with a leaf buffer cache
     using AccessorsWithLeafCache =
         openvdb::GridTypes
             ::Remove<openvdb::BoolGrid>
             ::Remove<openvdb::MaskGrid>
-            ::Transform<GridToAccCheckA>;
+            ::Transform<GridAccBypasses>;
 
     // Accessors without a leaf buffer cache
     using AccessorsWithoutLeafCache =
         openvdb::TypeList<openvdb::BoolGrid, openvdb::MaskGrid>
-            ::Transform<GridToAccCheckB>;
+            ::Transform<GridAccDoesNotBypasses>;
 
     // instantiate these types to force the static check
     [[maybe_unused]] AccessorsWithLeafCache::AsTupleList test;
-- 
2.47.3

Reply via email to