RESOLVED FIXED 238384
[Big Sur] WK2 failing to build with `error: reference to 'WebDocumentView' is ambiguous`
https://bugs.webkit.org/show_bug.cgi?id=238384
Summary [Big Sur] WK2 failing to build with `error: reference to 'WebDocumentView' is...
Elliott Williams
Reported 2022-03-25 10:30:17 PDT
Since r291809, it's possible to import the same header from two different paths: once from its original source location and once from the SDK or build products, causing build failures due to duplicate types. This is because of WebKit's autogenerated headermap. It resolves migrated headers to the source locations IF they are imported through the <WebKit/…> prefix. If they are imported from <WebKitLegacy/…>, the headermap has no entry and they are resolved using normal search paths. Prior to r291809, migrated headers were never added to any headermaps, because they were produced by Make and Xcode was unaware of them.
Attachments
Patch (5.88 KB, patch)
2022-03-25 10:48 PDT, Elliott Williams
no flags
Radar WebKit Bug Importer
Comment 1 2022-03-25 10:31:01 PDT
Elliott Williams
Comment 2 2022-03-25 10:48:04 PDT
Elliott Williams
Comment 3 2022-03-25 10:51:19 PDT
Comment on attachment 455783 [details] Patch Since the build rule script changes are hard to read, here they are expanded: +set -e if [ "${WK_PLATFORM_NAME}" != macosx ]; then echo "#import <WebKitLegacy/${INPUT_FILE_NAME}>" > "${SCRIPT_OUTPUT_FILE_0}" else "${SCRIPT_INPUT_FILE_0}" fi +echo "#import <WebKit/${INPUT_FILE_NAME}>" > "${SCRIPT_OUTPUT_FILE_1}" +echo "#import <WebKit/${INPUT_FILE_NAME}>" > "${SCRIPT_OUTPUT_FILE_2}" There are now two build rules, because any source file migrated from WebCore need special treatment. Since they've been migrated twice, they have two valid imports, <WebCore/foo> and <WebKitLegacy/foo>, that should be forwarded to <WebKit/foo>.
EWS
Comment 4 2022-03-25 15:56:24 PDT
Committed r291900 (248893@main): <https://commits.webkit.org/248893@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 455783 [details].
Note You need to log in before you can comment on or make changes to this bug.