[From nobody Tue Sep 29 08:53:05 2026
Received: (at submit) by bugs.debian.org; 3 Sep 2026 15:08:43 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-118.2 required=4.0 tests=ALL_TRUSTED,BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
 DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,HAS_PACKAGE,SPF_HELO_NONE,
 SPF_PASS,USER_IN_DKIM_WELCOMELIST autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 60; hammy, 150; neutral, 108; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;maxy@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:52034)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;maxy@debian.org&gt;) id 1x293S-002rb5-1O
 for submit@bugs.debian.org; Thu, 03 Sep 2026 15:08:43 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Type:MIME-Version:Message-ID:
 Subject:Cc:To:From:Date:Reply-To:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=vBuHa9AE4l77jX2waaT7JZVhxZz0XuPHl5Kiiw9uxF0=; b=gjORCBhb15/hZ0bixI9bMD2YFB
 VD1eC4oJ0U4peHQEZcP6lSDnXxzvPmMp2mFZ94M50i5BDnXFnQNpPyOAAuBWYD0UaxfPevI+/DXxH
 16IsVP9eZhQqPLvIuWRn9b8UZr6mqR39ikj+ccW5EPkJov04uSdL01lYv5nFTH3Wdd0uni171s5LP
 CHGQQWSJeSBB4dn50abz7VQPFArTtgJLj/X0GxTiQODbypBl8Y8JE+JCPKFd2nvbrTaAhfrlhJGGF
 huf7xhMTND0m1fNJeX52H5klR2Yvl1hhL1wQYeaKZIkweZ/Vn9Elc3xdjFXm/BOjSAaW5Z4nIyMKM
 T0Ff+8eQ==;
Received: from authenticated-user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;maxy@debian.org&gt;) id 1x293R-000dM9-0v;
 Thu, 03 Sep 2026 15:08:42 +0000
Date: Thu, 3 Sep 2026 17:08:40 +0200
From: Maximiliano Curia &lt;maxy@debian.org&gt;
To: submit@bugs.debian.org
Cc: debian-python@lists.debian.org
Subject: rdkit: FTBFS against python 3.15rc1
Message-ID: &lt;apmNeBubKGvbOjtV@hecuba.gnuservers.com.ar&gt;
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=&quot;mM6fBwnqoETPfkVt&quot;
Content-Disposition: inline
X-Debian-User: maxy
Delivered-To: submit@bugs.debian.org

--mM6fBwnqoETPfkVt
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline

Package: src:rdkit
Version: 202603.4-1
User: debian-python@lists.debian.org
Usertags: python3.15
Tags: patch, ftbfs, forky, sid
Severity: serious

Hi!

While rebuilding the python related packages against the Python 3.15rc1
version we found that rdkit fails to build from source not only for 3.15
but also for 3.14 [1]. 

Error: testDistGeomHelpers:
src/catch2/../catch2/internal/catch_output_redirect.hpp:40: void
Catch::OutputRedirect::activate(): Assertion !m_redirectActive &amp;&amp;
&quot;redirect is already active&quot;' failed.

This is because catch2 is not thread safe till release 3.12, but
currently we have 3.7 in Debian, so the tests that depend on thread
safety need workarounds.

It's likely that this only started happening now, due to the new gcc
version.

I applied the fix in the sandbox [2] to be able to build the packages
that depend on rdkit and it has built successfully, please consider
applying the patch to get rdkit to build successfully.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4587746/
[2]: https://debusine.debian.net/debian/r-python-python3.15/

-- 
&quot;Can you imagine what I would do if I could do all I can?&quot; -- Sun Tzu
Saludos /\/\ /\ &gt;&lt; `/

--mM6fBwnqoETPfkVt
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename=fix_distgeom_threadsafety.patch

Description: Avoid Catch2 assertions in multithreaded test helper
 Catch2 assertion macros are not thread-safe (prior catch2 3.12) and cause
 assertion failures in OutputRedirect when invoked concurrently across worker
 threads.
Author: Maximiliano Curia &lt;maxy@debian.org&gt;
Forwarded: no
--- a/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
+++ b/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
@@ -943,17 +943,17 @@ void runblock(const std::vector&lt;std::sha
           .useLegacyImplementation = legacyETKDG};
       std::vector&lt;int&gt; cids =
           DGeomHelpers::EmbedMultipleConfs(*mol, 10, params);
-      REQUIRE(cids.size() == 10);
+      TEST_ASSERT(cids.size() == 10);
       std::unique_ptr&lt;ForceFields::ForceField&gt; field(
           UFF::constructForceField(*mol, 100, cids[0]));
-      REQUIRE(field);
+      TEST_ASSERT(field);
       field-&gt;initialize();
       double eng = field-&gt;calcEnergy();
       if (!feq(eng, energies[i])) {
         std::cerr &lt;&lt; i &lt;&lt; &quot; iter &quot; &lt;&lt; j &lt;&lt; &quot; &quot; &lt;&lt; energies[i] &lt;&lt; &quot; != &quot; &lt;&lt; eng
                   &lt;&lt; std::endl;
       }
-      CHECK(feq(eng, energies[i]));
+      TEST_ASSERT(feq(eng, energies[i]));
     }
   }
 }

--mM6fBwnqoETPfkVt
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename=fix_substruct_threadsafety.patch

Description: Avoid Catch2 assertions in substruct multithreaded test helper
 Catch2 assertion macros are not thread-safe and cause assertion failures in
 OutputRedirect when invoked concurrently across worker threads.
Author: Maximiliano Curia &lt;maxy@debian.org&gt;
Forwarded: no
--- a/Code/GraphMol/Substruct/testSubstructMatch.cpp
+++ b/Code/GraphMol/Substruct/testSubstructMatch.cpp
@@ -541,7 +541,7 @@ void runblock(const std::vector&lt;std::uni
       MatchVectType matchV;
       bool found = SubstructMatch(*mol, *query, matchV);
 
-      CHECK(found == hits[i]);
+      TEST_ASSERT(found == hits[i]);
     }
   }
 }

--mM6fBwnqoETPfkVt--
]