Bug 232198

Summary: [GTK] REGRESSION (r270758): FreeBSD (libc++) build broken
Product: WebKit Reporter: 2khramtsov
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: kkinnunen, lantw44
Priority: P3 Keywords: Gtk
Version: WebKit Nightly Build   
Hardware: PC   
OS: Other   

Description 2khramtsov 2021-10-23 09:26:29 PDT
GTK WebKit build on FreeBSD (uses libc++/clang) is regressed by:
https://github.com/WebKit/WebKit/commit/11ccaf183fad

GStreamer.cpp.o -c /wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:220:12: error: call to implicitly-deleted copy constructor of 'WebCore::PlatformSample'
    return sample;
           ^~~~~~

/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/MediaSample.h:57:7: note: copy constructor of 'PlatformSample' is implicitly deleted because field 'sample' has a deleted copy constructor
    } sample;
      ^
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/MediaSample.h:56:66: note: copy constructor of '' is implicitly deleted because variant field 'byteRangeSample' has a non-trivial copy constructor
        std::pair<MTPluginByteSourceRef, CMFormatDescriptionRef> byteRangeSample;

1 error generated.

GCC build is also broken (results in SIGSEGV during build), so this is likely related to FreeBSD using libc++.
Comment 1 2khramtsov 2022-07-09 14:07:35 PDT
This is caused by std::pair ABI incompatibility in FreeBSD https://reviews.freebsd.org/D35327