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 <[email protected]>
 : :' :  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

Attachment: signature.asc
Description: PGP signature

Reply via email to