On 12/4/25 09:37, Philippe Mathieu-Daudé wrote:
On 3/12/25 23:01, Denis V. Lunev via wrote:
sys.stderr.print is dropped long ago and should not be used. Official
replacement is sys.stderr.write

The problem has been found debugging building on some fancy platform
derived from Debian.

Signed-off-by: Denis V. Lunev <[email protected]>
CC: John Snow <[email protected]>
CC: Cleber Rosa <[email protected]>
---
  scripts/modinfo-collect.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/modinfo-collect.py b/scripts/modinfo-collect.py
index 6ebaea989d..db78b16c1f 100644
--- a/scripts/modinfo-collect.py
+++ b/scripts/modinfo-collect.py
@@ -41,7 +41,7 @@ def main(args):
      for obj in args:
          entry = compile_commands.get(obj, None)
          if not entry:
-            sys.stderr.print('modinfo: Could not find object file', obj) +            sys.stderr.write(f'modinfo: Could not find object file {obj}')

Missing trailing '\n'? Otherwise,
Nope. Double checked using the following:

iris ~/src/qemu $ git diff
diff --git a/scripts/modinfo-collect.py b/scripts/modinfo-collect.py
index 980956c660..737700d5fb 100644
--- a/scripts/modinfo-collect.py
+++ b/scripts/modinfo-collect.py
@@ -40,8 +40,8 @@ def main(args):

     for obj in args:
         entry = compile_commands.get(obj, None)
-        if not entry:
-            sys.stderr.write(f'modinfo: Could not find object file {obj}')
+        if True:
+            sys.stderr.write(f'modinfo: Could not find object file {obj}')
             sys.exit(1)
         src = entry['file']
         if not src.endswith('.c'):
iris ~/src/qemu $

In order to trigger the build we should command
    ./configure --target-list=x86_64-softmmu --enable-modules
and with the original patch the output is like the following:

--- stderr ---
modinfo: Could not find object file libmodule-common.a.p/module-common.c.o
[73/2396] Generating audio-spice.modinfo with a custom command (wrapped by meson to capture output)
FAILED: audio-spice.modinfo
/home/den/src/qemu/build/pyvenv/bin/meson --internal exe --capture audio-spice.modinfo -- /home/den/src/qemu/build/pyvenv/bin/python3 /home/den/src/qemu/scripts/modinfo-collect.py libmodule-common.a.p/module-common.c.o libaudio-spice.a.p/audio_spiceaudio.c.o
--- stderr ---
modinfo: Could not find object file libmodule-common.a.p/module-common.c.o
[74/2396] Generating audio-pa.modinfo with a custom command (wrapped by meson to capture output)
FAILED: audio-pa.modinfo
/home/den/src/qemu/build/pyvenv/bin/meson --internal exe --capture audio-pa.modinfo -- /home/den/src/qemu/build/pyvenv/bin/python3 /home/den/src/qemu/scripts/modinfo-collect.py libmodule-common.a.p/module-common.c.o libaudio-pa.a.p/audio_paaudio.c.o

which I believe is great :-)

Additional line is inserted with \n added.


Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

              sys.exit(1)
          src = entry['file']
          if not src.endswith('.c'):


Den

Reply via email to