[FFmpeg-devel] [PATCH 2/2] configure: disable locale use in spa plugin

Rémi Denis-Courmont remi at remlab.net
Thu Dec 28 19:25:15 EET 2023



Le 27 décembre 2023 17:25:03 GMT+01:00, Abhishek Ojha <abhishek.ojha at savoirfairelinux.com> a écrit :
>This commit requires to resolve the compilation error of pipewiregrab
>because Pipewire's spa plugin is requesting locale_t extension to
>compile.
>Which was added in POSIX 2008 but ffmpeg is using POSIX 2001 due to
>which spa plugin complains. __LOCALE_C_ONLY flag is set to disable
>the locale usage in spa plugin. Adding it in configure file fix both
>the library test and source compilation issue.
>Not sure if this is the right approach to fix the issue.
>Feedback/Suggestions will be highly appreciated.

AFAIK, glibc requires that macros with a single underscore be set by the external code before glibc headers, while those with two leading underscores are for internal glibc (header) use.

So then this seems undefined.

>
>Signed-off-by: Abhishek Ojha <abhishek.ojha at savoirfairelinux.com>
>---
> configure | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/configure b/configure
>index 375327d5fa..442d004258 100755
>--- a/configure
>+++ b/configure
>@@ -7106,6 +7106,8 @@ if enabled libxcb; then
>     enabled libxcb_xfixes && check_pkg_config libxcb_xfixes xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image
> fi
> 
>+# _POSIX_C_SOURCE=200112 doesn't support locale
>+add_cppflags -D__LOCALE_C_ONLY
> enabled libpipewire && check_pkg_config libpipewire "libpipewire-0.3 >= 0.3.40" pipewire/pipewire.h pw_init
> if enabled libpipewire; then
>     enabled libgio_unix && check_pkg_config libgio_unix gio-unix-2.0 gio/gio.h g_main_loop_new


More information about the ffmpeg-devel mailing list