Bug#1114722: symfit: FTBFS with NumPy 2.3
roehling at debian.org
roehling at debian.org
Mon Sep 8 20:44:42 BST 2025
Source: symfit
Version: 0.5.6-3
Severity: important
User: debian-python at lists.debian.org
Usertags: numpy2.3
Tags: ftbfs, forky, sid
Dear maintainer,
During a test rebuild for NumPy 2.3, symfit failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
warn("IPython parent '{0}' is not a writable location,"
reading sources... [ 19%] examples/ex_ODEModel
reading sources... [ 22%] examples/ex_bivariate_likelihood
/usr/lib/python3/dist-packages/IPython/paths.py:69: UserWarning: IPython parent '../..' is not a writable location, using a temp directory.
warn("IPython parent '{0}' is not a writable location,"
reading sources... [ 26%] examples/ex_fourier_series
reading sources... [ 30%] examples/ex_interactive_guesses_ODE
reading sources... [ 33%] examples/ex_interactive_guesses_nD
reading sources... [ 37%] examples/ex_interactive_guesses_vector_2D
reading sources... [ 41%] examples/ex_mexican_hat
/usr/lib/python3/dist-packages/IPython/paths.py:69: UserWarning: IPython parent '../..' is not a writable location, using a temp directory.
warn("IPython parent '{0}' is not a writable location,"
reading sources... [ 44%] examples/ex_multidataset_likelihood
reading sources... [ 48%] examples/ex_ode_system
/usr/lib/python3/dist-packages/IPython/paths.py:69: UserWarning: IPython parent '../..' is not a writable location, using a temp directory.
warn("IPython parent '{0}' is not a writable location,"
Notebook error!
Versions
========
* Platform: linux; (Linux-6.1.0-38-amd64-x86_64-with-glibc2.41)
* Python version: 3.13.7 (CPython)
* Sphinx version: 8.2.3
* Docutils version: 0.21.2
* Jinja2 version: 3.1.6
* Pygments version: 2.18.0
Last Messages
=============
reading sources... [ 41%]
examples/ex_mexican_hat
reading sources... [ 44%]
examples/ex_multidataset_likelihood
reading sources... [ 48%]
examples/ex_ode_system
Loaded Extensions
=================
* sphinx.ext.mathjax (8.2.3)
* alabaster (0.7.16)
* sphinx.ext.autodoc.preserve_defaults (8.2.3)
* sphinx.ext.autodoc.type_comment (8.2.3)
* sphinx.ext.autodoc.typehints (8.2.3)
* sphinx.ext.autodoc (8.2.3)
* sphinx.ext.viewcode (8.2.3)
* sphinx.ext.intersphinx (8.2.3)
* nbsphinx (0.9.5)
Traceback
=========
File "/usr/lib/python3/dist-packages/nbsphinx/__init__.py", line 641, in parse
raise NotebookError('\n'.join(lines))
nbsphinx.NotebookError: CellExecutionError in examples/ex_ode_system.ipynb:
------------------
k1_f.min, k1_f.max = 0, 1
k1_r.min, k1_r.max = 0, 1
k2_f.min, k2_f.max = 0, 1
k2_r.min, k2_r.max = 0, 1
fit = Fit(model, t=tdata, MM=data[MM], F=data[F],
FMMF=None, FMM=None,
sigma_F=sigma_data, sigma_MM=sigma_data)
fit_result = fit.execute()
print(fit_result)
------------------
[0;31m---------------------------------------------------------------------------[0m
[0;31mAttributeError[0m Traceback (most recent call last)
Cell [0;32mIn[4], line 9[0m
[1;32m 4[0m k2_r[38;5;241m.[39mmin, k2_r[38;5;241m.[39mmax [38;5;241m=[39m [38;5;241m0[39m, [38;5;241m1[39m
[1;32m 6[0m fit [38;5;241m=[39m Fit(model, t[38;5;241m=[39mtdata, MM[38;5;241m=[39mdata[MM], F[38;5;241m=[39mdata[F],
[1;32m 7[0m FMMF[38;5;241m=[39m[38;5;28;01mNone[39;00m, FMM[38;5;241m=[39m[38;5;28;01mNone[39;00m,
[1;32m 8[0m sigma_F[38;5;241m=[39msigma_data, sigma_MM[38;5;241m=[39msigma_data)
[0;32m----> 9[0m fit_result [38;5;241m=[39m [43mfit[49m[38;5;241;43m.[39;49m[43mexecute[49m[43m([49m[43m)[49m
[1;32m 10[0m [38;5;28mprint[39m(fit_result)
File [0;32m/build/reproducible-path/symfit-0.5.6/symfit/core/fit.py:574[0m, in [0;36mFit.execute[0;34m(self, **minimize_options)[0m
[1;32m 566[0m [38;5;250m[39m[38;5;124;03m"""[39;00m
[1;32m 567[0m [38;5;124;03mExecute the fit.[39;00m
[1;32m 568[0m
[0;32m (...)[0m
[1;32m 571[0m [38;5;124;03m:return: FitResults instance[39;00m
[1;32m 572[0m [38;5;124;03m"""[39;00m
[1;32m 573[0m minimizer_ans [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39mminimizer[38;5;241m.[39mexecute([38;5;241m*[39m[38;5;241m*[39mminimize_options)
[0;32m--> 574[0m minimizer_ans[38;5;241m.[39mcovariance_matrix [38;5;241m=[39m [38;5;28;43mself[39;49m[38;5;241;43m.[39;49m[43mcovariance_matrix[49m[43m([49m
[1;32m 575[0m [43m [49m[38;5;28;43mdict[39;49m[43m([49m[38;5;28;43mzip[39;49m[43m([49m[38;5;28;43mself[39;49m[38;5;241;43m.[39;49m[43mmodel[49m[38;5;241;43m.[39;49m[43mparams[49m[43m,[49m[43m [49m[43mminimizer_ans[49m[38;5;241;43m.[39;49m[43m_popt[49m[43m)[49m[43m)[49m
[1;32m 576[0m [43m[49m[43m)[49m
[1;32m 577[0m [38;5;66;03m# Overwrite the DummyModel with the current model[39;00m
[1;32m 578[0m minimizer_ans[38;5;241m.[39mmodel [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39mmodel
File [0;32m/build/reproducible-path/symfit-0.5.6/symfit/core/fit.py:301[0m, in [0;36mHasCovarianceMatrix.covariance_matrix[0;34m(self, best_fit_params)[0m
[1;32m 292[0m [38;5;250m [39m[38;5;124;03m"""[39;00m
[1;32m 293[0m [38;5;124;03m Class which impersonates ``base``, but which returns zeros[39;00m
[1;32m 294[0m [38;5;124;03m for the models Hessian. This will effectively result in the[39;00m
[1;32m 295[0m [38;5;124;03m calculation of the approximate Hessian by calculating[39;00m
[1;32m 296[0m [38;5;124;03m outer(J.T, J) when calling ``base.eval_hessian``.[39;00m
[1;32m 297[0m [38;5;124;03m """[39;00m
[1;32m 299[0m objective [38;5;241m=[39m HessApproximation([38;5;28mself[39m[38;5;241m.[39mobjective[38;5;241m.[39mmodel,
[1;32m 300[0m [38;5;28mself[39m[38;5;241m.[39mobjective[38;5;241m.[39mdata)
[0;32m--> 301[0m cov_matrix [38;5;241m=[39m [38;5;28;43mself[39;49m[38;5;241;43m.[39;49m[43m_covariance_matrix[49m[43m([49m[43mbest_fit_params[49m[43m,[49m
[1;32m 302[0m [43m [49m[43mobjective[49m[38;5;241;43m=[39;49m[43mobjective[49m[43m)[49m
[1;32m 304[0m [38;5;28;01mreturn[39;00m cov_matrix
File [0;32m/build/reproducible-path/symfit-0.5.6/symfit/core/fit.py:256[0m, in [0;36mHasCovarianceMatrix._covariance_matrix[0;34m(self, best_fit_params, objective)[0m
[1;32m 254[0m rss [38;5;241m=[39m [38;5;241m2[39m [38;5;241m*[39m objective([38;5;241m*[39m[38;5;241m*[39mkey2str(best_fit_params))
[1;32m 255[0m [38;5;66;03m# Degrees of freedom[39;00m
[0;32m--> 256[0m raw_dof [38;5;241m=[39m np[38;5;241m.[39msum([[43mnp[49m[38;5;241;43m.[39;49m[43mproduct[49m(shape) [38;5;28;01mfor[39;00m shape [38;5;129;01min[39;00m [38;5;28mself[39m[38;5;241m.[39mdata_shapes[[38;5;241m1[39m]])
[1;32m 257[0m dof [38;5;241m=[39m raw_dof [38;5;241m-[39m [38;5;28mlen[39m([38;5;28mself[39m[38;5;241m.[39mmodel[38;5;241m.[39mparams)
[1;32m 258[0m [38;5;28;01mif[39;00m [38;5;28mself[39m[38;5;241m.[39mabsolute_sigma:
[1;32m 259[0m [38;5;66;03m# When interpreting as measurement error, we do not rescale.[39;00m
File [0;32m/usr/lib/python3/dist-packages/numpy/__init__.py:795[0m, in [0;36m__getattr__[0;34m(attr)[0m
[1;32m 792[0m [38;5;28;01mimport[39;00m [38;5;21;01mnumpy[39;00m[38;5;21;01m.[39;00m[38;5;21;01mchar[39;00m [38;5;28;01mas[39;00m [38;5;21;01mchar[39;00m
[1;32m 793[0m [38;5;28;01mreturn[39;00m char[38;5;241m.[39mchararray
[0;32m--> 795[0m [38;5;28;01mraise[39;00m [38;5;167;01mAttributeError[39;00m([38;5;124mf[39m[38;5;124m"[39m[38;5;124mmodule [39m[38;5;132;01m{[39;00m[38;5;18m__name__[39m[38;5;132;01m!r}[39;00m[38;5;124m has no attribute [39m[38;5;132;01m{[39;00mattr[38;5;132;01m!r}[39;00m[38;5;124m"[39m)
[0;31mAttributeError[0m: module 'numpy' has no attribute 'product'
You can ignore this error by setting the following in conf.py:
nbsphinx_allow_errors = True
The full traceback has been saved in:
/tmp/sphinx-err-hds5bofy.log
To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make[1]: *** [debian/rules:8: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/symfit-0.5.6'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-09-08T12:14:15Z
-------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/debian/developers-roehling.numpy/artifact/2457210/
About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.
You can find the build task here:
https://debusine.debian.net/debian/developers-roehling.numpy/work-request/164154/
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Cheers
Timo
More information about the debian-science-maintainers
mailing list