The intial value of the maximum power (from mean square values >= 0)
is undefined in the code and only by chance usually ends up being zero.
But on some systems (Ubuntu), the luck runs out.

diff -ruN normalize-0.7.7.orig/src/mpegvolume.c normalize-0.7.7/src/mpegvolume.c
--- normalize-0.7.7.orig/src/mpegvolume.c	2005-09-09 22:24:26.000000000 +0200
+++ normalize-0.7.7/src/mpegvolume.c	2025-05-30 21:09:37.712286503 +0200
@@ -175,6 +175,7 @@
   ds.eof = 0;
   ds.windowsz = 0;
   ds.samples_so_far = 0;
+  ds.maxpow = 0;
   /* initialize peaks to effectively -inf and +inf */
   si->max_sample = samplemin;
   si->min_sample = samplemax;
