[Debian-med-packaging] Bug#1042198: unifrac: FTBFS: AssertionError: 0.9999999403953552 != 1.0
Lucas Nussbaum
lucas at debian.org
Wed Jul 26 20:57:23 BST 2023
Source: unifrac
Version: 1.2-3
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230726 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:240: python3.11 setup.py config
> /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 unifrac/_api.pyx because it changed.
> [1/1] Cythonizing unifrac/_api.pyx
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3 setup.py build
> /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)
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac
> copying unifrac/_methods.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac
> copying unifrac/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac
> copying unifrac/_meta.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests
> copying unifrac/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests
> copying unifrac/tests/test_methods.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests
> copying unifrac/tests/test_api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/test.faith.exp -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/crawford.biom -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/e2.biom -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/e1.biom -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/crawford.tre -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/t1.newick -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> copying unifrac/tests/data/t2.newick -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/data
> running build_ext
> Compiling SSU
> building 'unifrac._api' extension
> INFO: C compiler: x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
>
> creating build
> creating build/temp.linux-x86_64-cpython-311
> creating build/temp.linux-x86_64-cpython-311/unifrac
> INFO: compile options: '-I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.11 -c'
> INFO: x86_64-linux-gnu-gcc: unifrac/_api.c
> In file included from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
> from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarrayobject.h:12,
> from /usr/lib/python3/dist-packages/numpy/core/include/numpy/arrayobject.h:5,
> from unifrac/_api.c:780:
> /usr/lib/python3/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
> 17 | #warning "Using deprecated NumPy API, disable it with " \
> | ^~~~~~~
> unifrac/_api.c: In function ‘__pyx_f_7unifrac_4_api_result_to_skbio_distance_matrix’:
> unifrac/_api.c:5912:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
> 5912 | for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_14; __pyx_t_7+=1) {
> | ^
> unifrac/_api.c: In function ‘__pyx_f_7unifrac_4_api_construct_support_bptree’:
> unifrac/_api.c:8449:32: warning: assignment to ‘_Bool *’ from incompatible pointer type ‘__pyx_t_7unifrac_4_api_bool *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
> 8449 | __pyx_v_sp_bptree->structure = __pyx_v_structure;
> | ^
> INFO: x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-311/unifrac/_api.o -L/usr/lib/x86_64-linux-gnu -lssu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/_api.cpython-311-x86_64-linux-gnu.so
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build; python3.11 -m unittest discover -v
> test_ssu_table_not_subset_tree (unifrac.tests.test_api.EdgeCasesTests.test_ssu_table_not_subset_tree) ... ok
> test_unweighted_extra_tips (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_extra_tips) ... ok
> test_unweighted_minimal_trees (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_minimal_trees) ... FAIL
> test_unweighted_otus_out_of_order (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_otus_out_of_order) ... ok
> test_unweighted_root_not_observed (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_root_not_observed) ... ok
> test_unweighted_unifrac (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_unifrac) ... ok
> test_unweighted_unifrac_identity (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_unifrac_identity) ... ok
> test_unweighted_unifrac_non_overlapping (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_unifrac_non_overlapping) ... ok
> test_unweighted_unifrac_symmetry (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_unifrac_symmetry) ... ok
> test_weighted_extra_tips (unifrac.tests.test_api.EdgeCasesTests.test_weighted_extra_tips) ... ok
> test_weighted_normalized_root_not_observed (unifrac.tests.test_api.EdgeCasesTests.test_weighted_normalized_root_not_observed) ... ok
> test_weighted_otus_out_of_order (unifrac.tests.test_api.EdgeCasesTests.test_weighted_otus_out_of_order) ... ok
> test_weighted_root_not_observed (unifrac.tests.test_api.EdgeCasesTests.test_weighted_root_not_observed) ... ok
> test_weighted_unifrac (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac) ... ok
> test_weighted_unifrac_identity (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_identity) ... ok
> test_weighted_unifrac_identity_normalized (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_identity_normalized) ... ok
> test_weighted_unifrac_non_overlapping (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_non_overlapping) ... ok
> test_weighted_unifrac_non_overlapping_normalized (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_non_overlapping_normalized) ... ok
> test_weighted_unifrac_normalized (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_normalized) ... ok
> test_weighted_unifrac_symmetry (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_symmetry) ... ok
> test_weighted_unifrac_symmetry_normalized (unifrac.tests.test_api.EdgeCasesTests.test_weighted_unifrac_symmetry_normalized) ... ok
> test_faith_pd (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd) ... ok
> test_faith_pd_all_observed (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_all_observed) ... ok
> test_faith_pd_biom_table_empty (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_biom_table_empty) ... ok
> test_faith_pd_extra_tips (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_extra_tips) ... ok
> test_faith_pd_invalid_input (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_invalid_input) ... ok
> test_faith_pd_minimal (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_minimal) ... ok
> test_faith_pd_none_observed (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_none_observed) ... ERROR
> test_faith_pd_root_not_observed (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_root_not_observed) ... ok
> test_faith_pd_series_name (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_series_name) ... ok
> test_faith_pd_table_not_subset_tree (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_table_not_subset_tree) ... ok
> test_faith_pd_zero_branches_omitted (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_zero_branches_omitted) ... ok
> test_meta_unifrac (unifrac.tests.test_api.UnifracAPITests.test_meta_unifrac) ... ok
> test_ssu_bad_method (unifrac.tests.test_api.UnifracAPITests.test_ssu_bad_method) ... ok
> test_ssu_bad_table (unifrac.tests.test_api.UnifracAPITests.test_ssu_bad_table) ... ok
> test_ssu_bad_tree (unifrac.tests.test_api.UnifracAPITests.test_ssu_bad_tree) ... ok
> test_unweighted_fp32_inmem (unifrac.tests.test_api.UnifracAPITests.test_unweighted_fp32_inmem) ... ok
> test_unweighted_fp64_inmem (unifrac.tests.test_api.UnifracAPITests.test_unweighted_fp64_inmem) ... ok
> test_unweighted_inmem (unifrac.tests.test_api.UnifracAPITests.test_unweighted_inmem) ... ok
> test_unweighted_root_eval_issue_46 (unifrac.tests.test_api.UnifracAPITests.test_unweighted_root_eval_issue_46) ... ok
> test_meta_unifrac (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac)
> meta_unifrac should give correct result on sample trees ... ok
> test_meta_unifrac_alpha_not_generalized (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_alpha_not_generalized) ... ok
> test_meta_unifrac_bad_consolidation (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_bad_consolidation) ... ok
> test_meta_unifrac_bad_method (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_bad_method) ... ok
> test_meta_unifrac_missing (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_missing) ... ok
> test_meta_unifrac_no_method (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_no_method) ... ok
> test_meta_unifrac_unbalanced (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_unbalanced) ... ok
> test_meta_unifrac_unbalanced_weights (unifrac.tests.test_methods.StateUnifracTests.test_meta_unifrac_unbalanced_weights) ... ok
> test_meta_validation (unifrac.tests.test_methods.StateUnifracTests.test_meta_validation) ... ok
>
> ======================================================================
> ERROR: test_faith_pd_none_observed (unifrac.tests.test_api.FaithPDEdgeCasesTests.test_faith_pd_none_observed)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/test_api.py", line 717, in test_faith_pd_none_observed
> self.assertAlmostEqual(actual.values, expected)
> File "/usr/lib/python3.11/unittest/case.py", line 918, in assertAlmostEqual
> if round(diff, places) == 0:
> ^^^^^^^^^^^^^^^^^^^
> TypeError: type numpy.ndarray doesn't define __round__ method
>
> ======================================================================
> FAIL: test_unweighted_minimal_trees (unifrac.tests.test_api.EdgeCasesTests.test_unweighted_minimal_trees)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build/unifrac/tests/test_api.py", line 296, in test_unweighted_minimal_trees
> self.assertEqual(actual, expected)
> AssertionError: 0.9999999403953552 != 1.0
>
> ----------------------------------------------------------------------
> Ran 49 tests in 9.651s
>
> FAILED (failures=1, errors=1)
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_unifrac/build; python3.11 -m unittest discover -v
> dh_auto_test: error: pybuild --test -i python{version} -p 3.11 returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/07/26/unifrac_1.2-3_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230726;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230726&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
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-med-packaging
mailing list