Bug#982740: pulseaudio: FTBFS on ppc64el

Andres Salomon dilinger at queued.net
Sat Feb 13 19:53:58 GMT 2021


Package: pulseaudio
Version: 14.2-1
Severity: serious

Pulseaudio is failing to build on ppc64el. The version of pulseaudio in
bullseye suffers from a pretty serious usability bug (see #980836)
which should arguably be a higher severity, but let's focus on getting
14.2-1 built properly.

https://buildd.debian.org/status/logs.php?pkg=pulseaudio&arch=ppc64el

Here's where the ppc64el build fails:


FAIL: cpu-volume-test
=====================

Running suite(s): CPU
0%: Checks: 1, Failures: 1, Errors: 0
tests/cpu-volume-test.c:81:F:svolume:svolume_orc_test:0: Failed
FAIL cpu-volume-test (exit status: 1)



It's worth noting that 14.1-1 built just fine on ppc64el, and the only
non-debian change between 14.1 and 14.2 is this:

dilinger at e7470:/home/dev/pulseaudio$ git diff v14.1..v14.2
diff --git a/NEWS b/NEWS
index 308eedb17..72dd76fda 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+PulseAudio 14.2
+
+A bug fix release.
+
+ * Fix port switching when unplugging headphones
+
+Contributors
+
+  Tanu Kaskinen
+
+
 PulseAudio 14.1
 
 A bug fix release.
diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
index f450004ca..99d61a4b8 100644
--- a/src/modules/module-switch-on-port-available.c
+++ b/src/modules/module-switch-on-port-available.c
@@ -278,8 +278,10 @@ static void switch_from_port(pa_device_port *port, struct port_pointers pp) {
      * profile is still available in the
      * PA_CORE_HOOK_CARD_PROFILE_AVAILABLE_CHANGED callback, as at this point
      * the profile availability hasn't been updated yet. */
-    if (best_port)
-        switch_to_port(best_port, pp);
+    if (best_port) {
+        struct port_pointers best_pp = find_port_pointers(best_port);
+        switch_to_port(best_port, best_pp);
+    }
 }
 


It doesn't appear to be a temporary thing, as there were multiple
build attempts that all fail in the same spot.

It's likely something that changed in the build environment. For
example, there were some major changes with the check package
between the version that PA 14.1-1 built with (check 0.12.0-0.2)
and the version that PA 14.2-1 built with (check 0.15.2-2). And in
particular, #961781 looks very suspect as a difference in
precision between ppc64el and other architectures, but we also don't
appear to be using long doubles in that specific liborc test. So
¯\_(ツ)_/¯

The version of liborc didn't change between the two builds. There
was only 5 days between the successful and failed builds, so it's
pretty easy to see which packages changed. The check package
seems the most suspect, so it might be worth someone getting on a
ppc64el porter box and trying to build PA 14.2-1 with the older
version of the check package.

 



More information about the pkg-pulseaudio-devel mailing list