Your message dated Mon, 18 Dec 2023 17:32:25 +0000
with message-id <e1rfhtd-008vpy...@fasolo.debian.org>
and subject line Bug#1055625: fixed in pyzoltan 1.0.1-2+deb11u1
has caused the Debian Bug report #1055625,
regarding pyzoltan: FTBFS (not enough slots available)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1055625: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1055625
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: src:pyzoltan
Version: 1.0.1-5
Severity: important
Tags: ftbfs

Dear maintainer:

During a mass-rebuild of all packages in bookworm, this
package failed to build in this way:

[...]
          raise RuntimeError(msg)
E           RuntimeError: test geometric_partitioner.py failed with returncode 1

pyzoltan/tools/run_parallel_script.py:54: RuntimeError
----------------------------- Captured stdout call -----------------------------
running test: ['mpiexec', '-n', '2', '/usr/bin/python3.11', 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyzoltan/build/pyzoltan/core/tests/geometric_partitioner.py']

--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 2
slots that were requested by the application:

  /usr/bin/python3.11

Either request fewer slots for your application, or make more slots
available for use.
[...]

Apparently the package is assuming I have at least 2 CPUs,
but I have only one, and build-essential does not imply multi-core.


I tried to fix this by honoring parallel=n in DEB_BUILD_OPTIONS,
since that's the recommended way to support parallelism
when building Debian packages.

The result is in the attached patches, but they don't work.

When I use those patches, build with a single-cpu now works,
but build in my desktop PC, which has 6 cores (12 threads)
fails in this way:

---------------------------------------------------------------

pyzoltan/tools/run_parallel_script.py:56: RuntimeError
----------------------------- Captured stdout call -----------------------------
running test: ['mpiexec', '-n', '12', '/usr/bin/python3.11', 
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pyzoltan/build/pyzoltan/core/tests/geometric_partitioner.py']

--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 12
slots that were requested by the application:

---------------------------------------------------------------


Considering that the package takes less than one minute to build,
my proposal to fix this (for everybody) would be to just disable
parallelism. Honoring parallel=n in DEB_BUILD_OPTIONS makes
sense for big packages (or even medium-sized). For small packages
like this one, there is not a great saving.

To reproduce the problem please try GRUB_CMDLINE_LINUX="nr_cpus=1",
that's an extremely easy way to test it in a machine with a single CPU.

[ Note: I'd like to fix this in stable, and I will gladly care
about the stable upload, but once we know how to fix this properly
in trixie/sid ].

Thanks.
--- a/debian/rules
+++ b/debian/rules
@@ -4,7 +4,11 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
 export USE_TRILINOS=1
 export ZOLTAN_INCLUDE=/usr/include/trilinos
 export ZOLTAN_LIBRARY=/usr/lib
-NPROCS?=2
+
+NPROCS = 1
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  NPROCS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
 export NPROCS
 
 export PYBUILD_NAME=pyzoltan
--- /dev/null
+++ b/debian/patches/0004-fix-nprocs.patch
@@ -0,0 +1,20 @@
+--- pyzoltan-1.0.1.orig/pyzoltan/tools/run_parallel_script.py
++++ pyzoltan-1.0.1/pyzoltan/tools/run_parallel_script.py
+@@ -4,6 +4,8 @@ from subprocess import Popen, PIPE
+ import sys
+ from threading import Timer
+ 
++import os
++nprocs = int(os.environ.get('NPROCS', '1'))
+ 
+ def get_directory(file):
+     return dirname(abspath(file))
+@@ -14,7 +16,7 @@ def kill_process(process):
+     process.kill()
+ 
+ 
+-def run(filename, args=None, nprocs=2, timeout=30.0, path=None):
++def run(filename, args=None, nprocs=nprocs, timeout=30.0, path=None):
+     """Run a python script with MPI or in serial (if nprocs=1).  Kill process
+     if it takes longer than the specified timeout.
+ 
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 0001-Fix-nprocs.patch
 0002-Package-data.patch
 0003-Spelling.patch
+0004-fix-nprocs.patch

--- End Message ---
--- Begin Message ---
Source: pyzoltan
Source-Version: 1.0.1-2+deb11u1
Done: Santiago Vila <sanv...@debian.org>

We believe that the bug you reported is fixed in the latest version of
pyzoltan, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1055...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Santiago Vila <sanv...@debian.org> (supplier of updated pyzoltan package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 13 Dec 2023 18:40:00 +0100
Source: pyzoltan
Architecture: source
Version: 1.0.1-2+deb11u1
Distribution: bullseye
Urgency: medium
Maintainer: Debian Science Maintainers 
<debian-science-maintain...@lists.alioth.debian.org>
Changed-By: Santiago Vila <sanv...@debian.org>
Closes: 1055625
Changes:
 pyzoltan (1.0.1-2+deb11u1) bullseye; urgency=medium
 .
   * Team upload.
   * debian/rules: Set NPROC to 1 so that the package may be
     built on systems with a single core. Closes: #1055625.
Checksums-Sha1:
 eba760f633c63949af1f7c9e1deea1f261207a95 1861 pyzoltan_1.0.1-2+deb11u1.dsc
 a1d069f12dd6cbb7f926bf3030360825632ed166 4048 
pyzoltan_1.0.1-2+deb11u1.debian.tar.xz
 ce2216e89110bb469eba5846e16f1443202db1c7 8919 
pyzoltan_1.0.1-2+deb11u1_source.buildinfo
Checksums-Sha256:
 2de0bbeeca008e9916d0b0d35a9ef5566b922c484c61c28e74be0c1eab6d74db 1861 
pyzoltan_1.0.1-2+deb11u1.dsc
 4258f5f9c66a72123d5d2af9de0a10864674abeec499d5691630d63bb83be353 4048 
pyzoltan_1.0.1-2+deb11u1.debian.tar.xz
 e5e3abf9df1b45e51de7fa8101d55e3feddb8a39afce3a0d828148d6eb1daf10 8919 
pyzoltan_1.0.1-2+deb11u1_source.buildinfo
Files:
 e26f642ed8981e24646beb13c746a82a 1861 python optional 
pyzoltan_1.0.1-2+deb11u1.dsc
 b5d8e9b2b59bb32b1494db5cd4c5f0b9 4048 python optional 
pyzoltan_1.0.1-2+deb11u1.debian.tar.xz
 38b12a25ba3a031a607143b1457d8e7f 8919 python optional 
pyzoltan_1.0.1-2+deb11u1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEE1Uw7+v+wQt44LaXXQc5/C58bizIFAmV58BMACgkQQc5/C58b
izLj8wf9GOgf7MRpel1g6GY9UVJqI03ISYzyL7U977B1eem2ewWiU+HxQ8swsshM
3TJQZDvkfQCLXmJVTe+oFCtY1ZcXKfDLGrv1JOv6XE4PylWDYw9w5tN3cssFnUWe
c/AUdeEFnBVyMqyoINsGKy1zmqKrZZigphwCbvIzUpkHBhYifewM3eaYoqxBmLJW
JAswgw4b82qTTvqN3rrG8PnkugjQJ7bDCjBl4e6Z/yg/YTAtQjAw6cZi9ri/0LEJ
PqutVFQSR8gEEchWMfgC9437dXElwbbOzkwJA+2QwH7TUNZ77+/XjUBiBWlUH7wQ
+TlP8tIBAJ95LgeR9ZQ1yK2FuViRDA==
=kpjT
-----END PGP SIGNATURE-----

--- End Message ---
-- 
debian-science-maintainers mailing list
debian-science-maintainers@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to