Bug 255481

Summary: REGRESSION(262028@main): Broke WPE builds with locally built GStreamer dependency
Product: WebKit Reporter: Philippe Normand <philn>
Component: CMakeAssignee: Philippe Normand <philn>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=254216

Description Philippe Normand 2023-04-15 02:04:08 PDT
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp:22:                                                                                                  
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h:28:                                                                                                                       
/app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleBundleClient.h:42:5: error: C++ requires a type specifier for all declarations                                                              
    WTF_MAKE_FAST_ALLOCATED;                                                                                                                                                                                         
    ^                                                                                                                                                                                                                
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp:22:                                                                                                  
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h:29:                                                                                                                       
In file included from /app/webkit/Source/WebKit/Shared/API/APIObject.h:29:                                                                                                                                           
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/RefCounted.h:24:                                                                                                                               
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/FastMalloc.h:26:                                                                                                                               
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/StdLibExtras.h:32:                                                                                                                             
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../include/c++/12.2.0/utility:108:111: error: called object type 'const char[75]' is not a function or function pointer                                        
    void as_const(const _Tp&&) = ("if you use new/delete make sure to include config.h at the top of the file"());                                                                                                   
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^                                                                                                      
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../include/c++/12.2.0/utility:108:10: error: illegal initializer (only variables can be initialized)                                                           
    void as_const(const _Tp&&) = ("if you use new/delete make sure to include config.h at the top of the file"());                                                                                                   
         ^                                                                                                                                                                                                           
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp:22:                                                                                                  
In file included from /app/webkit/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h:29:                                                                                                                       
In file included from /app/webkit/Source/WebKit/Shared/API/APIObject.h:29:                                                                                                                                           
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/RefCounted.h:24:                                                                                                                               
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/FastMalloc.h:26:                                                                                                                               
In file included from /app/webkit/WebKitBuild/Release/WTF/Headers/wtf/StdLibExtras.h:33:                                                                                                                             
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../include/c++/12.2.0/variant:283:6: error: expected unqualified-id                                                                                            
   ::("if you use new/delete make sure to include config.h at the top of the file"()) ((void*)std::addressof(_M_storage))                                                                                            
     ^                                                                                                                                                                                                               
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../include/c++/12.2.0/variant:283:83: error: called object type 'const char[75]' is not a function or function pointer                                         
   ::("if you use new/delete make sure to include config.h at the top of the file"()) ((void*)std::addressof(_M_storage))                                                                                            
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^                                                                                                                                  
/usr/lib/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../include/c++/12.2.0/variant:374:132: error: called object type 'const char[75]' is not a function or function pointer                                        
 _Variadic_union(in_place_index_t<_Np>, _Args&&...) = ("if you use new/delete make sure to include config.h at the top of the file"());                                                                              
                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
... and so on...

Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp is somehow pulling on /app/webkit/WebKitBuild/deps-build/subprojects/gstreamer-full/subprojects/gstreamer/config.h instead of WebKit's config.h.

This issue is somehow not happening in GTK builds...
Comment 1 Philippe Normand 2023-04-15 02:28:18 PDT
Pull request: https://github.com/WebKit/WebKit/pull/12769
Comment 2 EWS 2023-04-16 01:52:55 PDT
Committed 263007@main (82caf34be7c8): <https://commits.webkit.org/263007@main>

Reviewed commits have been landed. Closing PR #12769 and removing active labels.