Source: pyemd Version: 0.5.1-2 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20230113 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > for python in $(py3versions --supported) ; do \ > "$python" setup.py test ; \ > done > running test > WARNING: Testing via this command is deprecated and will be removed in a > future version. Users looking for a generic test entry point independent of > test runner are encouraged to use tox. > running egg_info > creating pyemd.egg-info > writing pyemd.egg-info/PKG-INFO > writing dependency_links to pyemd.egg-info/dependency_links.txt > writing requirements to pyemd.egg-info/requires.txt > writing top-level names to pyemd.egg-info/top_level.txt > writing manifest file 'pyemd.egg-info/SOURCES.txt' > reading manifest file 'pyemd.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > warning: no previously-included files matching '__pycache__' found anywhere > in distribution > warning: no previously-included files matching '*.py[cod]' found anywhere in > distribution > warning: no previously-included files matching '*.so' found anywhere in > distribution > warning: no previously-included files matching '*.dylib' found anywhere in > distribution > adding license file 'LICENSE' > writing manifest file 'pyemd.egg-info/SOURCES.txt' > running build_ext > building 'pyemd.emd' extension > x86_64-linux-gnu-gcc -Wno-unused-result -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 -Ipyemd -I/usr/include/python3.10 > -I/usr/lib/python3/dist-packages/numpy/core/include -c pyemd/emd.cpp -o > build/temp.linux-x86_64-cpython-310/pyemd/emd.o > In file included from /usr/include/python3.10/numpy/ndarraytypes.h:1940, > from /usr/include/python3.10/numpy/ndarrayobject.h:12, > from /usr/include/python3.10/numpy/arrayobject.h:5, > from pyemd/emd.cpp:797: > /usr/include/python3.10/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 " \ > | ^~~~~~~ > In file included from pyemd/lib/emd_hat.hpp:95, > from pyemd/emd.cpp:805: > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’: > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > 41 | {for (NODE_T i=0; i<P.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’: > pyemd/emd.cpp:2651:42: required from here > pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘void > fillFWithZeros(std::vector<std::vector<NUM_T> >&) [with NUM_T = double]’: > pyemd/lib/emd_hat_impl.hpp:33:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:17:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >::size_type’ > {aka ‘long unsigned int’} [-Wsign-compare] > 17 | for (NODE_T i= 0; i<F.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:18:28: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > 18 | for (NODE_T j= 0; j<F[i].size(); ++j) { > | ~^~~~~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’: > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 255 | {for (NODE_T i=0; i<b.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long > long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, > std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 263 | {for (NODE_T i=0; i<c.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:296:51: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge0<long long int>, > std::allocator<edge0<long long int> > >, > std::allocator<std::__cxx11::list<edge0<long long int>, > std::allocator<edge0<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 296 | for (NODE_T new_name_from=0; new_name_from<flows.size(); > ++new_name_from) { > | ~~~~~~~~~~~~~^~~~~~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’: > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = NO_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = NO_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’ > pyemd/emd.cpp:2651:42: required from here > pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 255 | {for (NODE_T i=0; i<b.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long > long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, > std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 263 | {for (NODE_T i=0; i<c.size(); ++i) { > | ~^~~~~~~~~ > In file included from pyemd/lib/emd_hat_impl.hpp:8: > pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void > min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, > std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, > std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, > NODE_T&) [with NUM_T = long long int; NODE_T = int]’: > pyemd/lib/min_cost_flow.hpp:155:17: required from ‘NUM_T > min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const > std::vector<std::__cxx11::list<edge<NUM_T> > >&, > std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long > int]’ > pyemd/lib/emd_hat_impl.hpp:291:24: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/min_cost_flow.hpp:321:37: warning: comparison of integer > expressions of different signedness: > ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} > and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 321 | if ( (_nodes_to_Q[v]<Q.size()) && > (alt<Q[_nodes_to_Q[v]]._dist) ) { > | ~~~~~~~~~~~~~~~^~~~~~~~~~ > pyemd/lib/min_cost_flow.hpp:332:41: warning: comparison of integer > expressions of different signedness: > ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} > and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 332 | if ( (_nodes_to_Q[v]<Q.size()) && > (alt<Q[_nodes_to_Q[v]]._dist) ) { > | ~~~~~~~~~~~~~~~^~~~~~~~~~ > In file included from pyemd/lib/emd_hat.hpp:7: > pyemd/lib/flow_utils.hpp: In instantiation of ‘void > return_flow_from_to_transhipment_vertex(const std::vector<std::vector<NUM_T> > >&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > std::vector<NUM_T>&, std::vector<NUM_T>&) [with NUM_T = long long int]’: > pyemd/lib/flow_utils.hpp:46:44: required from ‘void > transform_flow_to_regular(std::vector<std::vector<NUM_T> >&, const > std::vector<NUM_T>&, const std::vector<NUM_T>&) [with NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:322:70: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/flow_utils.hpp:25:24: warning: comparison of integer expressions of > different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 25 | for (NODE_T i= 0; i<P.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/flow_utils.hpp:26:28: warning: comparison of integer expressions of > different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 26 | for (NODE_T j= 0; j<P.size(); ++j) { > | ~^~~~~~~~~ > pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void > min_cost_flow<NUM_T>::heapify(std::vector<edge3<NUM_T> >&, std::vector<int>&, > NODE_T) [with NUM_T = long long int; NODE_T = int]’: > pyemd/lib/min_cost_flow.hpp:392:9: required from ‘void > min_cost_flow<NUM_T>::heap_remove_first(std::vector<edge3<NUM_T> >&, > std::vector<int>&) [with NUM_T = long long int]’ > pyemd/lib/min_cost_flow.hpp:313:13: required from ‘void > min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, > std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, > std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, > NODE_T&) [with NUM_T = long long int; NODE_T = int]’ > pyemd/lib/min_cost_flow.hpp:155:17: required from ‘NUM_T > min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const > std::vector<std::__cxx11::list<edge<NUM_T> > >&, > std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long > int]’ > pyemd/lib/emd_hat_impl.hpp:291:24: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/min_cost_flow.hpp:405:20: warning: comparison of integer > expressions of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 405 | if ( (l<Q.size()) && (Q[l]._dist<Q[i]._dist) ) { > | ~~^~~~~~~~~~ > pyemd/lib/min_cost_flow.hpp:410:20: warning: comparison of integer > expressions of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 410 | if ( (r<Q.size())&& (Q[r]._dist<Q[smallest]._dist) ) { > | ~~^~~~~~~~~~ > creating build/lib.linux-x86_64-cpython-310 > creating build/lib.linux-x86_64-cpython-310/pyemd > x86_64-linux-gnu-g++ -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-310/pyemd/emd.o > -L/usr/lib/x86_64-linux-gnu -o > build/lib.linux-x86_64-cpython-310/pyemd/emd.cpython-310-x86_64-linux-gnu.so > copying > build/lib.linux-x86_64-cpython-310/pyemd/emd.cpython-310-x86_64-linux-gnu.so > -> pyemd > > ---------------------------------------------------------------------- > Ran 0 tests in 0.000s > > OK > running test > WARNING: Testing via this command is deprecated and will be removed in a > future version. Users looking for a generic test entry point independent of > test runner are encouraged to use tox. > running egg_info > writing pyemd.egg-info/PKG-INFO > writing dependency_links to pyemd.egg-info/dependency_links.txt > writing requirements to pyemd.egg-info/requires.txt > writing top-level names to pyemd.egg-info/top_level.txt > reading manifest file 'pyemd.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > warning: no previously-included files matching '__pycache__' found anywhere > in distribution > warning: no previously-included files matching '*.dylib' found anywhere in > distribution > adding license file 'LICENSE' > writing manifest file 'pyemd.egg-info/SOURCES.txt' > running build_ext > building 'pyemd.emd' extension > 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 -Ipyemd > -I/usr/include/python3.11 -I/usr/lib/python3/dist-packages/numpy/core/include > -c pyemd/emd.cpp -o build/temp.linux-x86_64-cpython-311/pyemd/emd.o > In file included from /usr/include/python3.11/numpy/ndarraytypes.h:1940, > from /usr/include/python3.11/numpy/ndarrayobject.h:12, > from /usr/include/python3.11/numpy/arrayobject.h:5, > from pyemd/emd.cpp:797: > /usr/include/python3.11/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 " \ > | ^~~~~~~ > In file included from pyemd/lib/emd_hat.hpp:95, > from pyemd/emd.cpp:805: > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’: > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > 41 | {for (NODE_T i=0; i<P.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’: > pyemd/emd.cpp:2651:42: required from here > pyemd/lib/emd_hat_impl.hpp:41:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘void > fillFWithZeros(std::vector<std::vector<NUM_T> >&) [with NUM_T = double]’: > pyemd/lib/emd_hat_impl.hpp:33:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:17:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >::size_type’ > {aka ‘long unsigned int’} [-Wsign-compare] > 17 | for (NODE_T i= 0; i<F.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:18:28: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<double, > std::allocator<double> >::size_type’ {aka ‘long unsigned int’} > [-Wsign-compare] > 18 | for (NODE_T j= 0; j<F[i].size(); ++j) { > | ~^~~~~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’: > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 255 | {for (NODE_T i=0; i<b.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long > long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, > std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 263 | {for (NODE_T i=0; i<c.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:296:51: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge0<long long int>, > std::allocator<edge0<long long int> > >, > std::allocator<std::__cxx11::list<edge0<long long int>, > std::allocator<edge0<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 296 | for (NODE_T new_name_from=0; new_name_from<flows.size(); > ++new_name_from) { > | ~~~~~~~~~~~~~^~~~~~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp: In instantiation of ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’: > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = NO_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = NO_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = NO_FLOW]’ > pyemd/emd.cpp:2651:42: required from here > pyemd/lib/emd_hat_impl.hpp:255:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 255 | {for (NODE_T i=0; i<b.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/emd_hat_impl.hpp:263:24: warning: comparison of integer expressions > of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<std::__cxx11::list<edge<long long int>, std::allocator<edge<long > long int> > >, std::allocator<std::__cxx11::list<edge<long long int>, > std::allocator<edge<long long int> > > > >::size_type’ {aka ‘long unsigned > int’} [-Wsign-compare] > 263 | {for (NODE_T i=0; i<c.size(); ++i) { > | ~^~~~~~~~~ > In file included from pyemd/lib/emd_hat_impl.hpp:8: > pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void > min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, > std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, > std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, > NODE_T&) [with NUM_T = long long int; NODE_T = int]’: > pyemd/lib/min_cost_flow.hpp:155:17: required from ‘NUM_T > min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const > std::vector<std::__cxx11::list<edge<NUM_T> > >&, > std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long > int]’ > pyemd/lib/emd_hat_impl.hpp:291:24: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/min_cost_flow.hpp:321:37: warning: comparison of integer > expressions of different signedness: > ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} > and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 321 | if ( (_nodes_to_Q[v]<Q.size()) && > (alt<Q[_nodes_to_Q[v]]._dist) ) { > | ~~~~~~~~~~~~~~~^~~~~~~~~~ > pyemd/lib/min_cost_flow.hpp:332:41: warning: comparison of integer > expressions of different signedness: > ‘__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type’ {aka ‘int’} > and ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 332 | if ( (_nodes_to_Q[v]<Q.size()) && > (alt<Q[_nodes_to_Q[v]]._dist) ) { > | ~~~~~~~~~~~~~~~^~~~~~~~~~ > In file included from pyemd/lib/emd_hat.hpp:7: > pyemd/lib/flow_utils.hpp: In instantiation of ‘void > return_flow_from_to_transhipment_vertex(const std::vector<std::vector<NUM_T> > >&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > std::vector<NUM_T>&, std::vector<NUM_T>&) [with NUM_T = long long int]’: > pyemd/lib/flow_utils.hpp:46:44: required from ‘void > transform_flow_to_regular(std::vector<std::vector<NUM_T> >&, const > std::vector<NUM_T>&, const std::vector<NUM_T>&) [with NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:322:70: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/flow_utils.hpp:25:24: warning: comparison of integer expressions of > different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 25 | for (NODE_T i= 0; i<P.size(); ++i) { > | ~^~~~~~~~~ > pyemd/lib/flow_utils.hpp:26:28: warning: comparison of integer expressions of > different signedness: ‘NODE_T’ {aka ‘int’} and ‘std::vector<long long > int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 26 | for (NODE_T j= 0; j<P.size(); ++j) { > | ~^~~~~~~~~ > pyemd/lib/min_cost_flow.hpp: In instantiation of ‘void > min_cost_flow<NUM_T>::heapify(std::vector<edge3<NUM_T> >&, std::vector<int>&, > NODE_T) [with NUM_T = long long int; NODE_T = int]’: > pyemd/lib/min_cost_flow.hpp:392:9: required from ‘void > min_cost_flow<NUM_T>::heap_remove_first(std::vector<edge3<NUM_T> >&, > std::vector<int>&) [with NUM_T = long long int]’ > pyemd/lib/min_cost_flow.hpp:313:13: required from ‘void > min_cost_flow<NUM_T>::compute_shortest_path(std::vector<NUM_T>&, > std::vector<int>&, NODE_T, std::vector<std::__cxx11::list<edge1<NUM_T> > >&, > std::vector<std::__cxx11::list<edge2<NUM_T> > >&, const std::vector<NUM_T>&, > NODE_T&) [with NUM_T = long long int; NODE_T = int]’ > pyemd/lib/min_cost_flow.hpp:155:17: required from ‘NUM_T > min_cost_flow<NUM_T>::operator()(std::vector<NUM_T>&, const > std::vector<std::__cxx11::list<edge<NUM_T> > >&, > std::vector<std::__cxx11::list<edge0<NUM_T> > >&) [with NUM_T = long long > int]’ > pyemd/lib/emd_hat_impl.hpp:291:24: required from ‘NUM_T > emd_hat_impl_integral_types<NUM_T, FLOW_TYPE>::operator()(const > std::vector<NUM_T>&, const std::vector<NUM_T>&, const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = long long int; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat_impl.hpp:385:62: required from ‘emd_hat_impl<long long > int, FLOW_TYPE>::NUM_T emd_hat_impl<long long int, > FLOW_TYPE>::operator()(const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<long long int>&, const > std::vector<long long int>&, const std::vector<std::vector<long long int> >&, > NUM_T, std::vector<std::vector<long long int> >*) [with FLOW_TYPE_T FLOW_TYPE > = WITHOUT_EXTRA_MASS_FLOW; NUM_T = long long int]’ > pyemd/lib/emd_hat_impl.hpp:456:56: required from ‘emd_hat_impl<double, > FLOW_TYPE>::NUM_T emd_hat_impl<double, FLOW_TYPE>::operator()(const > std::vector<double, std::allocator<double> >&, const std::vector<double, > std::allocator<double> >&, const std::vector<double, std::allocator<double> > >&, const std::vector<double, std::allocator<double> >&, const > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >&, NUM_T, > std::vector<std::vector<double, std::allocator<double> >, > std::allocator<std::vector<double, std::allocator<double> > > >*) [with > FLOW_TYPE_T FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW; NUM_T = double]’ > pyemd/lib/emd_hat_impl.hpp:57:43: required from ‘NUM_T > emd_hat_gd_metric<NUM_T, FLOW_TYPE>::operator()(const std::vector<NUM_T>&, > const std::vector<NUM_T>&, const std::vector<std::vector<NUM_T> >&, NUM_T, > std::vector<std::vector<NUM_T> >*) [with NUM_T = double; FLOW_TYPE_T > FLOW_TYPE = WITHOUT_EXTRA_MASS_FLOW]’ > pyemd/lib/emd_hat.hpp:87:52: required from here > pyemd/lib/min_cost_flow.hpp:405:20: warning: comparison of integer > expressions of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 405 | if ( (l<Q.size()) && (Q[l]._dist<Q[i]._dist) ) { > | ~~^~~~~~~~~~ > pyemd/lib/min_cost_flow.hpp:410:20: warning: comparison of integer > expressions of different signedness: ‘NODE_T’ {aka ‘int’} and > ‘std::vector<edge3<long long int>, std::allocator<edge3<long long int> > > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] > 410 | if ( (r<Q.size())&& (Q[r]._dist<Q[smallest]._dist) ) { > | ~~^~~~~~~~~~ > creating build/lib.linux-x86_64-cpython-311 > creating build/lib.linux-x86_64-cpython-311/pyemd > x86_64-linux-gnu-g++ -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/pyemd/emd.o > -L/usr/lib/x86_64-linux-gnu -o > build/lib.linux-x86_64-cpython-311/pyemd/emd.cpython-311-x86_64-linux-gnu.so > copying > build/lib.linux-x86_64-cpython-311/pyemd/emd.cpython-311-x86_64-linux-gnu.so > -> pyemd > > ---------------------------------------------------------------------- > Ran 0 tests in 0.000s > > OK > make[1]: Leaving directory '/<<PKGBUILDDIR>>' > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyemd/build; > python3.10 -m pytest test > [1m============================= test session starts > ==============================[0m > platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack -- > /usr/bin/python3.10 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini > [1mcollecting ... [0mcollected 35 items > > test/test_pyemd.py::test_emd_1 [32mPASSED[0m[32m > [ 2%][0m > test/test_pyemd.py::test_emd_2 [32mPASSED[0m[32m > [ 5%][0m > test/test_pyemd.py::test_emd_3 [32mPASSED[0m[32m > [ 8%][0m > test/test_pyemd.py::test_emd_4 [32mPASSED[0m[32m > [ 11%][0m > test/test_pyemd.py::test_emd_extra_mass_penalty [32mPASSED[0m[32m > [ 14%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_1 > [32mPASSED[0m[32m [ 17%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_2 > [32mPASSED[0m[32m [ 20%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_3 > [32mPASSED[0m[32m [ 22%][0m > test/test_pyemd.py::test_emd_validate_different_signature_dims > [32mPASSED[0m[32m [ 25%][0m > test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix > [31mFAILED[0m[31m [ 28%][0m > test/test_pyemd.py::test_emd_with_flow_1 [32mPASSED[0m[31m > [ 31%][0m > test/test_pyemd.py::test_emd_with_flow_2 [32mPASSED[0m[31m > [ 34%][0m > test/test_pyemd.py::test_emd_with_flow_3 [32mPASSED[0m[31m > [ 37%][0m > test/test_pyemd.py::test_emd_with_flow_4 [32mPASSED[0m[31m > [ 40%][0m > test/test_pyemd.py::test_emd_with_flow_5 [32mPASSED[0m[31m > [ 42%][0m > test/test_pyemd.py::test_emd_with_flow_6 [32mPASSED[0m[31m > [ 45%][0m > test/test_pyemd.py::test_emd_with_flow_extra_mass_penalty > [32mPASSED[0m[31m [ 48%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_1 > [32mPASSED[0m[31m [ 51%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_2 > [32mPASSED[0m[31m [ 54%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_3 > [32mPASSED[0m[31m [ 57%][0m > test/test_pyemd.py::test_emd_with_flow_validate_different_signature_dims > [32mPASSED[0m[31m [ 60%][0m > test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix > [31mFAILED[0m[31m [ 62%][0m > test/test_pyemd.py::test_emd_samples_1 [32mPASSED[0m[31m > [ 65%][0m > test/test_pyemd.py::test_emd_samples_1_binsize [32mPASSED[0m[31m > [ 68%][0m > test/test_pyemd.py::test_emd_samples_1_manual_range [32mPASSED[0m[31m > [ 71%][0m > test/test_pyemd.py::test_emd_samples_1_not_normalized [32mPASSED[0m[31m > [ 74%][0m > test/test_pyemd.py::test_emd_samples_1_custom_distance [32mPASSED[0m[31m > [ 77%][0m > test/test_pyemd.py::test_emd_samples_all_kwargs [32mPASSED[0m[31m > [ 80%][0m > test/test_pyemd.py::test_emd_samples_2 [32mPASSED[0m[31m > [ 82%][0m > test/test_pyemd.py::test_emd_samples_3 [32mPASSED[0m[31m > [ 85%][0m > test/test_pyemd.py::test_emd_samples_4 [32mPASSED[0m[31m > [ 88%][0m > test/test_pyemd.py::test_emd_samples_5 [32mPASSED[0m[31m > [ 91%][0m > test/test_pyemd.py::test_emd_samples_validate_empty [32mPASSED[0m[31m > [ 94%][0m > test/test_pyemd.py::test_emd_samples_validate_distance_matrix_square > [32mPASSED[0m[31m [ 97%][0m > test/test_pyemd.py::test_emd_samples_validate_distance_matrix_size > [32mPASSED[0m[31m [100%][0m > > =================================== FAILURES > =================================== > [31m[1m_________________ test_emd_validate_symmetric_distance_matrix > __________________[0m > > def test_emd_validate_symmetric_distance_matrix(): > first_signature = np.array([0.0, 1.0]) > second_signature = np.array([5.0, 3.0]) > > distance_matrix = np.array([[0.0, 0.5, 3.0], > [0.5, 0.0]]) > [1m[31mE ValueError: setting an array element with a sequence. The > requested array has an inhomogeneous shape after 1 dimensions. The detected > shape was (2,) + inhomogeneous part.[0m > > [1m[31mtest/test_pyemd.py[0m:132: ValueError > [31m[1m______________ test_emd_with_flow_validate_square_distance_matrix > ______________[0m > > def test_emd_with_flow_validate_square_distance_matrix(): > first_signature = np.array([0.0, 1.0]) > second_signature = np.array([5.0, 3.0]) > > distance_matrix = np.array([[0.0, 0.5, 3.0], > [0.5, 0.0]]) > [1m[31mE ValueError: setting an array element with a sequence. The > requested array has an inhomogeneous shape after 1 dimensions. The detected > shape was (2,) + inhomogeneous part.[0m > > [1m[31mtest/test_pyemd.py[0m:278: ValueError > [36m[1m=========================== short test summary info > ============================[0m > [31mFAILED[0m > test/test_pyemd.py::[1mtest_emd_validate_symmetric_distance_matrix[0m - > ValueError: setting an array element with a sequence. The requested array h... > [31mFAILED[0m > test/test_pyemd.py::[1mtest_emd_with_flow_validate_square_distance_matrix[0m > - ValueError: setting an array element with a sequence. The requested array > h... > [31m========================= [31m[1m2 failed[0m, [32m33 passed[0m[31m > in 0.21s[0m[31m =========================[0m > E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyemd/build; python3.10 -m pytest test > I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyemd/build; > python3.11 -m pytest test > [1m============================= test session starts > ==============================[0m > platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack -- > /usr/bin/python3.11 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>>, configfile: pytest.ini > [1mcollecting ... [0mcollected 35 items > > test/test_pyemd.py::test_emd_1 [32mPASSED[0m[32m > [ 2%][0m > test/test_pyemd.py::test_emd_2 [32mPASSED[0m[32m > [ 5%][0m > test/test_pyemd.py::test_emd_3 [32mPASSED[0m[32m > [ 8%][0m > test/test_pyemd.py::test_emd_4 [32mPASSED[0m[32m > [ 11%][0m > test/test_pyemd.py::test_emd_extra_mass_penalty [32mPASSED[0m[32m > [ 14%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_1 > [32mPASSED[0m[32m [ 17%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_2 > [32mPASSED[0m[32m [ 20%][0m > test/test_pyemd.py::test_emd_validate_larger_signatures_3 > [32mPASSED[0m[32m [ 22%][0m > test/test_pyemd.py::test_emd_validate_different_signature_dims > [32mPASSED[0m[32m [ 25%][0m > test/test_pyemd.py::test_emd_validate_symmetric_distance_matrix > [31mFAILED[0m[31m [ 28%][0m > test/test_pyemd.py::test_emd_with_flow_1 [32mPASSED[0m[31m > [ 31%][0m > test/test_pyemd.py::test_emd_with_flow_2 [32mPASSED[0m[31m > [ 34%][0m > test/test_pyemd.py::test_emd_with_flow_3 [32mPASSED[0m[31m > [ 37%][0m > test/test_pyemd.py::test_emd_with_flow_4 [32mPASSED[0m[31m > [ 40%][0m > test/test_pyemd.py::test_emd_with_flow_5 [32mPASSED[0m[31m > [ 42%][0m > test/test_pyemd.py::test_emd_with_flow_6 [32mPASSED[0m[31m > [ 45%][0m > test/test_pyemd.py::test_emd_with_flow_extra_mass_penalty > [32mPASSED[0m[31m [ 48%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_1 > [32mPASSED[0m[31m [ 51%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_2 > [32mPASSED[0m[31m [ 54%][0m > test/test_pyemd.py::test_emd_with_flow_validate_larger_signatures_3 > [32mPASSED[0m[31m [ 57%][0m > test/test_pyemd.py::test_emd_with_flow_validate_different_signature_dims > [32mPASSED[0m[31m [ 60%][0m > test/test_pyemd.py::test_emd_with_flow_validate_square_distance_matrix > [31mFAILED[0m[31m [ 62%][0m > test/test_pyemd.py::test_emd_samples_1 [32mPASSED[0m[31m > [ 65%][0m > test/test_pyemd.py::test_emd_samples_1_binsize [32mPASSED[0m[31m > [ 68%][0m > test/test_pyemd.py::test_emd_samples_1_manual_range [32mPASSED[0m[31m > [ 71%][0m > test/test_pyemd.py::test_emd_samples_1_not_normalized [32mPASSED[0m[31m > [ 74%][0m > test/test_pyemd.py::test_emd_samples_1_custom_distance [32mPASSED[0m[31m > [ 77%][0m > test/test_pyemd.py::test_emd_samples_all_kwargs [32mPASSED[0m[31m > [ 80%][0m > test/test_pyemd.py::test_emd_samples_2 [32mPASSED[0m[31m > [ 82%][0m > test/test_pyemd.py::test_emd_samples_3 [32mPASSED[0m[31m > [ 85%][0m > test/test_pyemd.py::test_emd_samples_4 [32mPASSED[0m[31m > [ 88%][0m > test/test_pyemd.py::test_emd_samples_5 [32mPASSED[0m[31m > [ 91%][0m > test/test_pyemd.py::test_emd_samples_validate_empty [32mPASSED[0m[31m > [ 94%][0m > test/test_pyemd.py::test_emd_samples_validate_distance_matrix_square > [32mPASSED[0m[31m [ 97%][0m > test/test_pyemd.py::test_emd_samples_validate_distance_matrix_size > [32mPASSED[0m[31m [100%][0m > > =================================== FAILURES > =================================== > [31m[1m_________________ test_emd_validate_symmetric_distance_matrix > __________________[0m > > def test_emd_validate_symmetric_distance_matrix(): > first_signature = np.array([0.0, 1.0]) > second_signature = np.array([5.0, 3.0]) > > distance_matrix = np.array([[0.0, 0.5, 3.0], > [0.5, 0.0]]) > [1m[31mE ValueError: setting an array element with a sequence. The > requested array has an inhomogeneous shape after 1 dimensions. The detected > shape was (2,) + inhomogeneous part.[0m > > [1m[31mtest/test_pyemd.py[0m:132: ValueError > [31m[1m______________ test_emd_with_flow_validate_square_distance_matrix > ______________[0m > > def test_emd_with_flow_validate_square_distance_matrix(): > first_signature = np.array([0.0, 1.0]) > second_signature = np.array([5.0, 3.0]) > > distance_matrix = np.array([[0.0, 0.5, 3.0], > [0.5, 0.0]]) > [1m[31mE ValueError: setting an array element with a sequence. The > requested array has an inhomogeneous shape after 1 dimensions. The detected > shape was (2,) + inhomogeneous part.[0m > > [1m[31mtest/test_pyemd.py[0m:278: ValueError > [36m[1m=========================== short test summary info > ============================[0m > [31mFAILED[0m > test/test_pyemd.py::[1mtest_emd_validate_symmetric_distance_matrix[0m - > ValueError: setting an array element with a sequence. The requested array h... > [31mFAILED[0m > test/test_pyemd.py::[1mtest_emd_with_flow_validate_square_distance_matrix[0m > - ValueError: setting an array element with a sequence. The requested array > h... > [31m========================= [31m[1m2 failed[0m, [32m33 passed[0m[31m > in 0.15s[0m[31m =========================[0m > E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyemd/build; python3.11 -m pytest test > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 > 3.11" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2023/01/13/pyemd_0.5.1-2_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230113;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230113&fusertaguser=lu...@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.