Bug 2413095

Summary: obs-studio: FTBFS in Fedora Rawhide due to glibc change
Product: [Fedora] Fedora Reporter: Dominik 'Rathann' Mierzejewski <dominik>
Component: obs-studioAssignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dherrera, dominik, jgrulich, lina, marcdeop, multimedia-sig, ngompa13
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/obs-studio
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-11-28 11:08:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2413097    
Bug Blocks:    

Description Dominik 'Rathann' Mierzejewski 2025-11-06 13:23:51 UTC
Description of problem:
Package obs-studio fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
31.1.1-3.fc44

Steps to Reproduce:
koji build --scratch f44 obs-studio-31.1.1-3.fc44.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/obs-studio

Build started failing here: https://koschei.fedoraproject.org/build/21601793 .
Compiler errors:
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp: In function ‘void PopulateBitrateLists()’:
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:131:16: error: reference to ‘once_flag’ is ambiguous
  131 |         static once_flag once;
      |                ^~~~~~~~~
In file included from /builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:6:
/usr/include/c++/15/mutex:809:10: note: candidates are: ‘struct std::once_flag’
  809 |   struct once_flag
      |          ^~~~~~~~~
In file included from /usr/include/stdlib.h:1162,
                 from /usr/include/c++/15/cstdlib:83,
                 from /usr/include/c++/15/ext/string_conversions.h:45,
                 from /usr/include/c++/15/bits/basic_string.h:4444,
                 from /usr/include/c++/15/string:56,
                 from /builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.hpp:4,
                 from /builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:1:
/usr/include/bits/types/once_flag.h:24:21: note:                 ‘typedef struct __once_flag once_flag’
   24 | typedef __once_flag once_flag;
      |                     ^~~~~~~~~
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:133:19: error: ‘once’ was not declared in this scope
  133 |         call_once(once, []() {
      |                   ^~~~
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp: In function ‘void PopulateSimpleAACBitrateMap()’:
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:188:16: error: reference to ‘once_flag’ is ambiguous
  188 |         static once_flag once;
      |                ^~~~~~~~~
/usr/include/c++/15/mutex:809:10: note: candidates are: ‘struct std::once_flag’
  809 |   struct once_flag
      |          ^~~~~~~~~
/usr/include/bits/types/once_flag.h:24:21: note:                 ‘typedef struct __once_flag once_flag’
   24 | typedef __once_flag once_flag;
      |                     ^~~~~~~~~
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:190:19: error: ‘once’ was not declared in this scope
  190 |         call_once(once, []() {
      |                   ^~~~
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp: In function ‘void PopulateSimpleOpusBitrateMap()’:
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:257:16: error: reference to ‘once_flag’ is ambiguous
  257 |         static once_flag once;
      |                ^~~~~~~~~
/usr/include/c++/15/mutex:809:10: note: candidates are: ‘struct std::once_flag’
  809 |   struct once_flag
      |          ^~~~~~~~~
/usr/include/bits/types/once_flag.h:24:21: note:                 ‘typedef struct __once_flag once_flag’
   24 | typedef __once_flag once_flag;
      |                     ^~~~~~~~~
/builddir/build/BUILD/obs-studio-31.1.1-build/obs-studio-31.1.1/frontend/utility/audio-encoders.cpp:259:19: error: ‘once’ was not declared in this scope
  259 |         call_once(once, []() {
      |                   ^~~~

Comment 1 Hoshino Lina 2025-11-28 11:08:57 UTC
Fixed in obs-studio-32.0.2-1.fc44