diff mbox series

[meta-multimedia,1/2] webrtc-audio-processing-2: add recipe

Message ID 20250522224420.107223-1-f_l_k@t-online.de
State Accepted
Headers show
Series [meta-multimedia,1/2] webrtc-audio-processing-2: add recipe | expand

Commit Message

Markus Volk May 22, 2025, 10:44 p.m. UTC
- add backport patch to fix build with gcc15
- dont add the patches from webrtc-audio-processing-1
  The fixes have not been merged but it was said that
  those issues should have been fixed

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...8dc4712fa6362b0c839ad57b6b46dce1ba83.patch | 50 +++++++++++++++++++
 .../webrtc-audio-processing-2_2.1.bb          | 20 ++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
 create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb

Comments

Khem Raj May 23, 2025, 4:36 p.m. UTC | #1
I am seeing a failure on riscv32

riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_load_8
   >>> referenced by
/home/kraj200/yoe/build/tmp/work/riscv32-yoe-linux/webrtc-audio-processing-2/2.1/recipe-sysroot/usr/lib/libabsl_spinlock_wait.so
(
   ↪ disallowed by --no-allow-shlib-undefined)

I think we need to add -latomic to LDFLAGS on 32bit arches where 64bit
intriniscs are not available e.g. mips,ppc,rv32 etc. I will test a
patch

On Thu, May 22, 2025 at 3:44 PM Markus Volk via lists.openembedded.org
<f_l_k=t-online.de@lists.openembedded.org> wrote:
>
> - add backport patch to fix build with gcc15
> - dont add the patches from webrtc-audio-processing-1
>   The fixes have not been merged but it was said that
>   those issues should have been fixed
>
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>  ...8dc4712fa6362b0c839ad57b6b46dce1ba83.patch | 50 +++++++++++++++++++
>  .../webrtc-audio-processing-2_2.1.bb          | 20 ++++++++
>  2 files changed, 70 insertions(+)
>  create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
>  create mode 100644 meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
>
> diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
> new file mode 100644
> index 0000000000..3e2ac72c69
> --- /dev/null
> +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
> @@ -0,0 +1,50 @@
> +From e9c78dc4712fa6362b0c839ad57b6b46dce1ba83 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= <francois@centricular.com>
> +Date: Mon, 14 Apr 2025 16:48:19 +0200
> +Subject: [PATCH] Fix compilation with gcc-15
> +
> +This commit fixes compilation errors with gcc-15 (default for Fedora 42).
> +
> +From [1]:
> +
> +> Common C++ headers (like <memory>) in GCC 15.0.0 (combined with libstdc++)
> +> don't transitively include uint64_t anymore.
> +
> +See also [2].
> +
> +[1]: https://github.com/ROCm/rocm_smi_lib/pull/198
> +[2]: https://github.com/root-project/root/issues/17444
> +
> +Upstream-Status: Backport [https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commit/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch]
> +---
> + .../audio_processing/aec3/multi_channel_content_detector.h       | 1 +
> + webrtc/rtc_base/trace_event.h                                    | 1 +
> + 2 files changed, 2 insertions(+)
> +
> +diff --git a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
> +index 2b2f3b8..feb29fd 100644
> +--- a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
> ++++ b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
> +@@ -12,6 +12,7 @@
> + #define MODULES_AUDIO_PROCESSING_AEC3_MULTI_CHANNEL_CONTENT_DETECTOR_H_
> +
> + #include <stddef.h>
> ++#include <cstdint>
> +
> + #include <memory>
> + #include <optional>
> +diff --git a/webrtc/rtc_base/trace_event.h b/webrtc/rtc_base/trace_event.h
> +index 2aee713..f88a68e 100644
> +--- a/webrtc/rtc_base/trace_event.h
> ++++ b/webrtc/rtc_base/trace_event.h
> +@@ -28,6 +28,7 @@
> +
> + #if !defined(RTC_USE_PERFETTO)
> + #include <string>
> ++#include <cstdint>
> +
> + #include "rtc_base/event_tracer.h"
> +
> +--
> +GitLab
> +
> diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
> new file mode 100644
> index 0000000000..00bf26c750
> --- /dev/null
> +++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
> @@ -0,0 +1,20 @@
> +DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
> +HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
> +SECTION = "audio"
> +
> +DEPENDS = "abseil-cpp"
> +DEPENDS:append:libc-musl = " libexecinfo"
> +
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2"
> +
> +SRC_URI = " \
> +    http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \
> +    file://e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch \
> +"
> +SRC_URI[sha256sum] = "ae9302824b2038d394f10213cab05312c564a038434269f11dbf68f511f9f9fe"
> +S = "${WORKDIR}/webrtc-audio-processing-${PV}"
> +
> +LDFLAGS:append:libc-musl = " -lexecinfo"
> +
> +inherit meson pkgconfig
> --
> 2.49.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#117598): https://lists.openembedded.org/g/openembedded-devel/message/117598
> Mute This Topic: https://lists.openembedded.org/mt/113256471/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
new file mode 100644
index 0000000000..3e2ac72c69
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
@@ -0,0 +1,50 @@ 
+From e9c78dc4712fa6362b0c839ad57b6b46dce1ba83 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= <francois@centricular.com>
+Date: Mon, 14 Apr 2025 16:48:19 +0200
+Subject: [PATCH] Fix compilation with gcc-15
+
+This commit fixes compilation errors with gcc-15 (default for Fedora 42).
+
+From [1]:
+
+> Common C++ headers (like <memory>) in GCC 15.0.0 (combined with libstdc++)
+> don't transitively include uint64_t anymore.
+
+See also [2].
+
+[1]: https://github.com/ROCm/rocm_smi_lib/pull/198
+[2]: https://github.com/root-project/root/issues/17444
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commit/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch]
+---
+ .../audio_processing/aec3/multi_channel_content_detector.h       | 1 +
+ webrtc/rtc_base/trace_event.h                                    | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
+index 2b2f3b8..feb29fd 100644
+--- a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
++++ b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_MULTI_CHANNEL_CONTENT_DETECTOR_H_
+ 
+ #include <stddef.h>
++#include <cstdint>
+ 
+ #include <memory>
+ #include <optional>
+diff --git a/webrtc/rtc_base/trace_event.h b/webrtc/rtc_base/trace_event.h
+index 2aee713..f88a68e 100644
+--- a/webrtc/rtc_base/trace_event.h
++++ b/webrtc/rtc_base/trace_event.h
+@@ -28,6 +28,7 @@
+ 
+ #if !defined(RTC_USE_PERFETTO)
+ #include <string>
++#include <cstdint>
+ 
+ #include "rtc_base/event_tracer.h"
+ 
+-- 
+GitLab
+
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
new file mode 100644
index 0000000000..00bf26c750
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
@@ -0,0 +1,20 @@ 
+DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
+HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
+SECTION = "audio"
+
+DEPENDS = "abseil-cpp"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2"
+
+SRC_URI = " \
+    http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \
+    file://e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch \
+"
+SRC_URI[sha256sum] = "ae9302824b2038d394f10213cab05312c564a038434269f11dbf68f511f9f9fe"
+S = "${WORKDIR}/webrtc-audio-processing-${PV}"
+
+LDFLAGS:append:libc-musl = " -lexecinfo"
+
+inherit meson pkgconfig