Bug#1119699: cctbx: ftbfs with pip 25.3

Étienne Mollier emollier at debian.org
Thu Oct 30 19:29:18 GMT 2025


Source: cctbx
Severity: serious
Tags: ftbfs
Justification: ftbfs

Dear Maintainer,

cctbx currently fails to build from source in sid with the
following symptom:

	Obtaining file:///build/reproducible-path/cctbx-2025.2%2Bds2%2B~3.23.0%2Bds1/dxtbx
	  Checking if build backend supports build_editable: started
	  Checking if build backend supports build_editable: finished with status 'done'
	ERROR: Project file:///build/reproducible-path/cctbx-2025.2%2Bds2%2B~3.23.0%2Bds1/dxtbx uses a build backend that is missing the 'build_editable' hook, so it cannot be installed in editable mode. Consider using a build backend that supports PEP 660.
	Processing: "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/cctbx/libtbx_refresh.py"
	  Generating C++ files in:
	    "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/.pybuild/cpython3_3.13/build_/cctbx/eltbx"
	  Generating C++ files in:
	    "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/.pybuild/cpython3_3.13/build_/include/cctbx/boost_python"
	Processing: "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/crys3d/libtbx_refresh.py"
	Processing: "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/smtbx/libtbx_refresh.py"
	  Generating C++ files in:
	    "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/.pybuild/cpython3_3.13/build_/include/smtbx/boost_python"
	Processing: "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/iotbx/libtbx_refresh.py"
	  Using fable to convert iotbx/pdb/hybrid_36_f.f
	    Writing: iotbx/pdb/hybrid_36_fem.cpp
	Processing: "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/dxtbx/libtbx_refresh.py"
	Traceback (most recent call last):
	  File "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/libtbx/configure.py", line 33, in <module>
	    if not run():
	           ~~~^^
	  File "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/libtbx/configure.py", line 28, in run
	    libtbx.env_config.cold_start(sys.argv)
	    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
	  File "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/libtbx/env_config.py", line 2980, in cold_start
	    env.refresh()
	    ~~~~~~~~~~~^^
	  File "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/libtbx/env_config.py", line 2195, in refresh
	    module.process_libtbx_refresh_py()
	    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
	  File "/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/libtbx/env_config.py", line 2508, in process_libtbx_refresh_py
	    exec(to_str(fh.read()), global_vars)
	    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "<string>", line 113, in <module>
	  File "<string>", line 35, in _install_setup_readonly_fallback
	  File "/usr/lib/python3.13/subprocess.py", line 577, in run
	    raise CalledProcessError(retcode, process.args,
	                             output=stdout, stderr=stderr)
	subprocess.CalledProcessError: Command '['/usr/bin/python3.13', '-m', 'pip', 'install', '--prefix', '/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/.pybuild/cpython3_3.13/build_/dxtbx', '--no-build-isolation', '--no-deps', '--ignore-installed', '-e', '/build/reproducible-path/cctbx-2025.2+ds2+~3.23.0+ds1/dxtbx']' returned non-zero exit status 1.

The error looks to be related to the following deprecation
warning when attempting to build cctbx in testing/forky,
appearing in place of the above error:

	Obtaining file:///build/reproducible-path/cctbx-2024.10%2Bds2%2B~3.22.1%2Bds1/dxtbx
	  Checking if build backend supports build_editable: started
	  Checking if build backend supports build_editable: finished with status 'done'
	  Preparing metadata (pyproject.toml): started
	  Preparing metadata (pyproject.toml): finished with status 'done'
	Installing collected packages: dxtbx
	  DEPRECATION: Legacy editable install of dxtbx==3.22.0
		from file:///build/reproducible-path/cctbx-2024.10%2Bds2%2B~3.22.1%2Bds1/dxtbx
		(setup.py develop) is deprecated. pip 25.3 will enforce this
		behaviour change. A possible replacement is to add a
		pyproject.toml or enable --use-pep517, and use setuptools >=
		64. If the resulting installation is not behaving as expected,
		try using --config-settings editable_mode=compat. Please consult
		the setuptools documentation for more information. Discussion
		can be found at https://github.com/pypa/pip/issues/11457
	  Running setup.py develop for dxtbx
	Successfully installed dxtbx
	[…]

In hope this helps,
-- 
  .''`.  Étienne Mollier <emollier at debian.org>
 : :' :  pgp: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/4, please excuse my verbosity
   `-    on air: IZZ - Into the Sun
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20251030/3ff0b211/attachment.sig>


More information about the debian-science-maintainers mailing list