Bug#1049646: scikit-learn: Fails to build binary packages again after successful build

Lucas Nussbaum lucas at debian.org
Wed Aug 16 08:42:51 BST 2023


Source: scikit-learn
Version: 1.2.1+dfsg-1
Severity: minor
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-binary-20230816 ftbfs-binary-after-build
User: debian-qa at lists.debian.org
Usertags: qa-doublebuild

Hi,

This package fails to do build a binary-only build (not source) after a
successful build (dpkg-buildpackage ; dpkg-buildpackage -b).

This is probably a clear violation of Debian Policy section 4.9 (clean target),
but this is filed as severity:minor for now, because a discussion on
debian-devel showed that we might want to revisit the requirement of a working
'clean' target.

More information about this class of issues, included common problems and
solutions, is available at
https://wiki.debian.org/qa.debian.org/FTBFS/DoubleBuild

Relevant part of the build log:
> cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -b
> ------------------------------------------------------------------------------------------------------------------------------------
> 
> dpkg-buildpackage: info: source package scikit-learn
> dpkg-buildpackage: info: source version 1.2.1+dfsg-1
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Andreas Tille <tille at debian.org>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --with python3 --buildsystem pybuild
>    dh_auto_clean -O--buildsystem=pybuild
> I: pybuild base:291: python3.11 setup.py clean 
> Partial import of sklearn during the build process.
> running clean
>    dh_autoreconf_clean -O--buildsystem=pybuild
>    debian/rules override_dh_clean
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_clean
> rm -rf .pytest_cache build scikit_learn.egg-info tmp
> mv PKG-INFO-BAK PKG-INFO
> mv: cannot stat 'PKG-INFO-BAK': No such file or directory
> make[1]: [debian/rules:135: override_dh_clean] Error 1 (ignored)
> rm -f debian/build-stamp-*
> for i in $(find -name '*.pyx'); do \
> 	rm -f ${i%.*}.c ${i%.*}.cpp; \
> done
> for i in $(find -name '*.pyx.in'); do \
> 	rm -f ${i%.*}; \
> done
> /usr/bin/make -C doc clean
> make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
> rm -rf _build/*
> rm -rf auto_examples/
> rm -rf generated/*
> rm -rf modules/generated/
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>  debian/rules binary
> dh binary --with python3,sphinxdoc --buildsystem pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    debian/rules override_dh_auto_configure
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> mkdir -p tmp
> mv PKG-INFO PKG-INFO-BAK
> python3.11 setup.py config
> Partial import of sklearn during the build process.
> /usr/lib/python3/dist-packages/pythran/tables.py:4530: FutureWarning: In the future `np.bool` will be defined as the corresponding NumPy scalar.
>   if not hasattr(numpy, method):
> /usr/lib/python3/dist-packages/pythran/tables.py:4563: FutureWarning: In the future `np.bytes` will be defined as the corresponding NumPy scalar.
>   obj = getattr(themodule, elem)
> Compiling sklearn/__check_build/_check_build.pyx because it changed.
> Compiling sklearn/_isotonic.pyx because it changed.
> Compiling sklearn/_loss/_loss.pyx because it changed.
> Compiling sklearn/cluster/_dbscan_inner.pyx because it changed.
> Compiling sklearn/cluster/_hierarchical_fast.pyx because it changed.
> Compiling sklearn/cluster/_k_means_common.pyx because it changed.
> Compiling sklearn/cluster/_k_means_lloyd.pyx because it changed.
> Compiling sklearn/cluster/_k_means_elkan.pyx because it changed.
> Compiling sklearn/cluster/_k_means_minibatch.pyx because it changed.
> Compiling sklearn/datasets/_svmlight_format_fast.pyx because it changed.
> Compiling sklearn/decomposition/_online_lda_fast.pyx because it changed.
> Compiling sklearn/decomposition/_cdnmf_fast.pyx because it changed.
> Compiling sklearn/ensemble/_gradient_boosting.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/histogram.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/splitting.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/_binning.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/_bitset.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/common.pyx because it changed.
> Compiling sklearn/ensemble/_hist_gradient_boosting/utils.pyx because it changed.
> Compiling sklearn/feature_extraction/_hashing_fast.pyx because it changed.
> Compiling sklearn/linear_model/_cd_fast.pyx because it changed.
> Compiling sklearn/linear_model/_sgd_fast.pyx because it changed.
> Compiling sklearn/linear_model/_sag_fast.pyx because it changed.
> Compiling sklearn/manifold/_utils.pyx because it changed.
> Compiling sklearn/manifold/_barnes_hut_tsne.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_fast.pyx because it changed.
> Compiling sklearn/metrics/_dist_metrics.pyx because it changed.
> Compiling sklearn/metrics/cluster/_expected_mutual_info_fast.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_distances_reduction/_base.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_distances_reduction/_argkmin.pyx because it changed.
> Compiling sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pyx because it changed.
> Compiling sklearn/preprocessing/_csr_polynomial_expansion.pyx because it changed.
> Compiling sklearn/neighbors/_ball_tree.pyx because it changed.
> Compiling sklearn/neighbors/_kd_tree.pyx because it changed.
> Compiling sklearn/neighbors/_partition_nodes.pyx because it changed.
> Compiling sklearn/neighbors/_quad_tree.pyx because it changed.
> Compiling sklearn/svm/_newrand.pyx because it changed.
> Compiling sklearn/svm/_libsvm.pyx because it changed.
> Compiling sklearn/svm/_liblinear.pyx because it changed.
> Compiling sklearn/svm/_libsvm_sparse.pyx because it changed.
> Compiling sklearn/tree/_tree.pyx because it changed.
> Compiling sklearn/tree/_splitter.pyx because it changed.
> Compiling sklearn/tree/_criterion.pyx because it changed.
> Compiling sklearn/tree/_utils.pyx because it changed.
> Compiling sklearn/utils/sparsefuncs_fast.pyx because it changed.
> Compiling sklearn/utils/_cython_blas.pyx because it changed.
> Compiling sklearn/utils/arrayfuncs.pyx because it changed.
> Compiling sklearn/utils/murmurhash.pyx because it changed.
> Compiling sklearn/utils/_fast_dict.pyx because it changed.
> Compiling sklearn/utils/_openmp_helpers.pyx because it changed.
> Compiling sklearn/utils/_seq_dataset.pyx because it changed.
> Compiling sklearn/utils/_weight_vector.pyx because it changed.
> Compiling sklearn/utils/_random.pyx because it changed.
> Compiling sklearn/utils/_logistic_sigmoid.pyx because it changed.
> Compiling sklearn/utils/_readonly_array_wrapper.pyx because it changed.
> Compiling sklearn/utils/_typedefs.pyx because it changed.
> Compiling sklearn/utils/_heap.pyx because it changed.
> Compiling sklearn/utils/_sorting.pyx because it changed.
> Compiling sklearn/utils/_vector_sentinel.pyx because it changed.
> Compiling sklearn/utils/_isfinite.pyx because it changed.
> [ 3/64] Cythonizing sklearn/_loss/_loss.pyx
> [44/64] Cythonizing sklearn/svm/_newrand.pyx
> [45/64] Cythonizing sklearn/tree/_criterion.pyx
> [57/64] Cythonizing sklearn/utils/_seq_dataset.pyx
> [ 8/64] Cythonizing sklearn/cluster/_k_means_lloyd.pyx
> [13/64] Cythonizing sklearn/ensemble/_gradient_boosting.pyx
> [20/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
> [31/64] Cythonizing sklearn/metrics/_pairwise_distances_reduction/_datasets_pair.pyx
> [38/64] Cythonizing sklearn/neighbors/_partition_nodes.pyx
> [41/64] Cythonizing sklearn/svm/_liblinear.pyx
> [43/64] Cythonizing sklearn/svm/_libsvm_sparse.pyx
> [48/64] Cythonizing sklearn/tree/_utils.pyx
> [53/64] Cythonizing sklearn/utils/_logistic_sigmoid.pyx
> [ 4/64] Cythonizing sklearn/cluster/_dbscan_inner.pyx
> [11/64] Cythonizing sklearn/decomposition/_cdnmf_fast.pyx
> [17/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
> [26/64] Cythonizing sklearn/manifold/_barnes_hut_tsne.pyx
> [32/64] Cythonizing sklearn/metrics/_pairwise_distances_reduction/_middle_term_computer.pyx
> [40/64] Cythonizing sklearn/preprocessing/_csr_polynomial_expansion.pyx
> [49/64] Cythonizing sklearn/utils/_cython_blas.pyx
> [60/64] Cythonizing sklearn/utils/_vector_sentinel.pyx
> [ 5/64] Cythonizing sklearn/cluster/_hierarchical_fast.pyx
> [14/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_binning.pyx
> [21/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/utils.pyx
> [28/64] Cythonizing sklearn/metrics/_dist_metrics.pyx
> [46/64] Cythonizing sklearn/tree/_splitter.pyx
> [56/64] Cythonizing sklearn/utils/_readonly_array_wrapper.pyx
> [ 7/64] Cythonizing sklearn/cluster/_k_means_elkan.pyx
> [16/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_gradient_boosting.pyx
> [22/64] Cythonizing sklearn/feature_extraction/_hashing_fast.pyx
> [25/64] Cythonizing sklearn/linear_model/_sgd_fast.pyx
> [33/64] Cythonizing sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors.pyx
> [42/64] Cythonizing sklearn/svm/_libsvm.pyx
> [47/64] Cythonizing sklearn/tree/_tree.pyx
> [62/64] Cythonizing sklearn/utils/arrayfuncs.pyx
> [ 2/64] Cythonizing sklearn/_isotonic.pyx
> [12/64] Cythonizing sklearn/decomposition/_online_lda_fast.pyx
> [18/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/common.pyx
> [19/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/histogram.pyx
> [30/64] Cythonizing sklearn/metrics/_pairwise_distances_reduction/_base.pyx
> [35/64] Cythonizing sklearn/metrics/cluster/_expected_mutual_info_fast.pyx
> [37/64] Cythonizing sklearn/neighbors/_kd_tree.pyx
> [50/64] Cythonizing sklearn/utils/_fast_dict.pyx
> [61/64] Cythonizing sklearn/utils/_weight_vector.pyx
> [ 1/64] Cythonizing sklearn/__check_build/_check_build.pyx
> [ 9/64] Cythonizing sklearn/cluster/_k_means_minibatch.pyx
> [10/64] Cythonizing sklearn/datasets/_svmlight_format_fast.pyx
> [24/64] Cythonizing sklearn/linear_model/_sag_fast.pyx
> [27/64] Cythonizing sklearn/manifold/_utils.pyx
> [29/64] Cythonizing sklearn/metrics/_pairwise_distances_reduction/_argkmin.pyx
> [36/64] Cythonizing sklearn/neighbors/_ball_tree.pyx
> [51/64] Cythonizing sklearn/utils/_heap.pyx
> [54/64] Cythonizing sklearn/utils/_openmp_helpers.pyx
> [55/64] Cythonizing sklearn/utils/_random.pyx
> [58/64] Cythonizing sklearn/utils/_sorting.pyx
> [59/64] Cythonizing sklearn/utils/_typedefs.pyx
> [63/64] Cythonizing sklearn/utils/murmurhash.pyx
> [ 6/64] Cythonizing sklearn/cluster/_k_means_common.pyx
> [15/64] Cythonizing sklearn/ensemble/_hist_gradient_boosting/_bitset.pyx
> [23/64] Cythonizing sklearn/linear_model/_cd_fast.pyx
> [34/64] Cythonizing sklearn/metrics/_pairwise_fast.pyx
> [39/64] Cythonizing sklearn/neighbors/_quad_tree.pyx
> [52/64] Cythonizing sklearn/utils/_isfinite.pyx
> [64/64] Cythonizing sklearn/utils/sparsefuncs_fast.pyx
> running config
> mv PKG-INFO-BAK PKG-INFO
> # Provide bootstrap links even at build process - otherwise sphinx fails
> mkdir -p doc/themes/scikit-learn-modern/static/css/vendor/
> ln -s /usr/share/javascript/bootstrap4/css/bootstrap.min.css doc/themes/scikit-learn-modern/static/css/vendor/bootstrap.min.css
> ln: failed to create symbolic link 'doc/themes/scikit-learn-modern/static/css/vendor/bootstrap.min.css': File exists
> make[1]: *** [debian/rules:154: override_dh_auto_configure] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:124: binary] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
> 
> E: Command 'cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -b' failed to run.


The full build log is available from:
http://qa-logs.debian.net/2023/08/16/scikit-learn_1.2.1+dfsg-1_unstable.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the debian-science-maintainers mailing list