Skip to content

Add Swift toolchain (6.2.0)#177

Open
nikolaszimmermann wants to merge 1 commit intomainfrom
nzimmermann/add_swift_toolchain
Open

Add Swift toolchain (6.2.0)#177
nikolaszimmermann wants to merge 1 commit intomainfrom
nzimmermann/add_swift_toolchain

Conversation

@nikolaszimmermann
Copy link
Copy Markdown
Member

No description provided.

@nikolaszimmermann
Copy link
Copy Markdown
Member Author

Still waiting for local test

@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/add_swift_toolchain branch from a4f1eea to 14fdceb Compare October 29, 2025 21:53
@nikolaszimmermann
Copy link
Copy Markdown
Member Author

-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.13")  
-- Found Gperf: /usr/bin/gperf (Required is at least version "3.0.1") 
-- The Swift compiler identification is Apple 6.2
-- Check for working Swift compiler: /opt/swift/bin/swiftc
-- Check for working Swift compiler: /opt/swift/bin/swiftc - works
-- Platform-specific CMakeLists not found: /host/home/nzimmermann/Software/GitRepositories/WebKit/Source/bmalloc/PlatformWPE.cmake
-- Performing Test CXX_COMPILER_SUPPORTS_-Wno-missing-field-initializers
-- Performing Test CXX_COMPILER_SUPPORTS_-Wno-missing-field-initializers - Success

This is now using clang-17, shipped with the Swift SDK.

Waiting :-)

@nikolaszimmermann
Copy link
Copy Markdown
Member Author

More work todo for WPE:

 -Xlinker -soname -Xlinker libWPEWebKit-2.0.so.1   && :
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'BUILDING_WEBKIT=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'BUILDING_WITH_CMAKE=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'BUILDING_WPE__=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'BWRAP_EXECUTABLE="/usr/bin/bwrap"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'DATADIR="/usr/local/share"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'DBUS_PROXY_EXECUTABLE="/usr/bin/xdg-dbus-proxy"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'GETTEXT_PACKAGE="WPE"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'HAVE_CONFIG_H=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'LIBDIR="/usr/local/lib"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'LOCALEDIR="/usr/local/share/locale"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'PAS_BMALLOC=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'PKGLIBDIR="/usr/local/lib/wpe-webkit-2.0"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'PKGLIBEXECDIR="/usr/local/libexec/wpe-webkit-2.0"')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'SK_ASSUME_GL=0')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'SK_ASSUME_GL_ES=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'SK_ASSUME_WEBGL=0')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'SK_R32_SHIFT=16')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'SK_TRIVIAL_ABI=[[clang::trivial_abi]]')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than '_GLIBCXX_ASSERTIONS=1')
warning: conditional compilation flags do not have values in Swift; they are either present or absent (rather than 'WPE_ENABLE_XKB=1')
<unknown>:0: warning: unknown warning group: '-I/usr/include' [#UnknownWarningGroup]
<unknown>:0: warning: unknown warning group: '-I/usr/include' [#UnknownWarningGroup]

[#UnknownWarningGroup]: <https://docs.swift.org/compiler/documentation/diagnostics/unknown-warning-group>
error: link command failed with exit code 1 (use -v to see invocation)
../../../Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:46: error: undefined reference to 'wpe_toplevel_list'
../../../Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:48: error: undefined reference to 'wpe_toplevel_get_screen'
../../../Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:49: error: undefined reference to 'wpe_screen_get_scale'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:130: error: undefined reference to 'wpe_event_get_modifiers'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:123: error: undefined reference to 'wpe_event_get_position'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:137: error: undefined reference to 'wpe_event_get_event_type'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:91: error: undefined reference to 'wpe_event_pointer_move_get_delta'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:140: error: undefined reference to 'wpe_event_pointer_button_get_button'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:141: error: undefined reference to 'wpe_event_pointer_button_get_press_count'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:145: error: undefined reference to 'wpe_event_pointer_button_get_button'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:42: error: undefined reference to 'wpe_event_get_time'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:171: error: undefined reference to 'wpe_event_scroll_is_stop'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:178: error: undefined reference to 'wpe_event_scroll_get_deltas'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:179: error: undefined reference to 'wpe_event_scroll_has_precise_deltas'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:123: error: undefined reference to 'wpe_event_get_position'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:187: error: undefined reference to 'wpe_event_get_input_source'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:205: error: undefined reference to 'wpe_event_get_view'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:206: error: undefined reference to 'wpe_view_get_width'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:207: error: undefined reference to 'wpe_view_get_height'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:211: error: undefined reference to 'wpe_event_get_modifiers'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:42: error: undefined reference to 'wpe_event_get_time'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:217: error: undefined reference to 'wpe_event_get_event_type'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:218: error: undefined reference to 'wpe_event_keyboard_get_keyval'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:219: error: undefined reference to 'wpe_event_keyboard_get_keycode'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:220: error: undefined reference to 'wpe_event_get_modifiers'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:42: error: undefined reference to 'wpe_event_get_time'
../../../Source/WebKit/Shared/wpe/WebKeyboardEventWPE.cpp:1321: error: undefined reference to 'wpe_keyval_to_unicode'
../../../Source/WebKit/Shared/wpe/WebKeyboardEventWPE.cpp:433: error: undefined reference to 'wpe_keyval_to_unicode'
../../../Source/WebKit/Shared/wpe/WebKeyboardEventWPE.cpp:887: error: undefined reference to 'wpe_keyval_to_unicode'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:234: error: undefined reference to 'wpe_event_get_event_type'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:251: error: undefined reference to 'wpe_event_get_modifiers'
../../../Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp:42: error: undefined reference to 'wpe_event_get_time'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:198: error: undefined reference to 'wpe_display_get_primary'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:198: error: undefined reference to 'wpe_display_get_drm_device'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:639: error: undefined reference to 'wpe_display_get_primary'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:639: error: undefined reference to 'wpe_display_get_drm_device'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:640: error: undefined reference to 'wpe_drm_device_get_render_node'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:642: error: undefined reference to 'wpe_drm_device_get_primary_node'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:1297: error: undefined reference to 'wpe_display_get_type'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:0: error: undefined reference to 'wpe_display_get_default'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/InputMethodFilterWPE.cpp:44: error: undefined reference to 'wpe_event_get_event_type'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:242: error: undefined reference to 'wpe_view_get_gesture_controller'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:243: error: undefined reference to 'wpe_gesture_controller_cancel'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:506: error: undefined reference to 'wpe_view_get_display'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:506: error: undefined reference to 'wpe_display_get_clipboard'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:507: error: undefined reference to 'wpe_clipboard_read_bytes'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:62: error: undefined reference to 'wpe_view_new'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:68: error: undefined reference to 'wpe_view_get_width'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:69: error: undefined reference to 'wpe_view_get_height'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:71: error: undefined reference to 'wpe_view_get_mapped'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:73: error: undefined reference to 'wpe_view_get_has_focus'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:77: error: undefined reference to 'wpe_view_get_toplevel'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:79: error: undefined reference to 'wpe_toplevel_get_state'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:83: error: undefined reference to 'wpe_view_get_screen'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:84: error: undefined reference to 'wpe_screen_get_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:135: error: undefined reference to 'wpe_view_get_scale'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:171: error: undefined reference to 'wpe_view_get_toplevel'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:161: error: undefined reference to 'wpe_toplevel_get_state'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:180: error: undefined reference to 'wpe_toplevel_fullscreen'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:197: error: undefined reference to 'wpe_view_get_toplevel'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:161: error: undefined reference to 'wpe_toplevel_get_state'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:204: error: undefined reference to 'wpe_toplevel_unfullscreen'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:226: error: undefined reference to 'wpe_toplevel_list'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:229: error: undefined reference to 'wpe_toplevel_get_state'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:233: error: undefined reference to 'wpe_toplevel_foreach_view'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:358: error: undefined reference to 'wpe_event_get_position'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:334: error: undefined reference to 'wpe_event_touch_get_sequence_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:415: error: undefined reference to 'wpe_event_touch_get_sequence_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:417: error: undefined reference to 'wpe_event_touch_get_sequence_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:425: error: undefined reference to 'wpe_event_touch_get_sequence_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:387: error: undefined reference to 'wpe_event_keyboard_get_keyval'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:395: error: undefined reference to 'wpe_event_keyboard_get_keycode'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:374: error: undefined reference to 'wpe_view_focus_in'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:436: error: undefined reference to 'wpe_view_get_gesture_controller'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:440: error: undefined reference to 'wpe_gesture_controller_handle_event'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:445: error: undefined reference to 'wpe_gesture_controller_get_gesture'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:451: error: undefined reference to 'wpe_gesture_controller_get_gesture_position'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:454: error: undefined reference to 'wpe_event_pointer_move_new'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_unref'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:462: error: undefined reference to 'wpe_event_pointer_button_new'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_unref'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:468: error: undefined reference to 'wpe_view_focus_in'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:472: error: undefined reference to 'wpe_event_pointer_button_new'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:480: error: undefined reference to 'wpe_gesture_controller_get_gesture_position'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:480: error: undefined reference to 'wpe_gesture_controller_get_gesture_delta'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:481: error: undefined reference to 'wpe_event_scroll_new'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:484: error: undefined reference to 'wpe_gesture_controller_is_drag_begin'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_unref'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:593: error: undefined reference to 'wpe_view_set_cursor_from_name'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:593: error: undefined reference to 'wpe_view_set_cursor_from_name'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:593: error: undefined reference to 'wpe_view_set_cursor_from_name'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:593: error: undefined reference to 'wpe_view_set_cursor_from_name'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:88: error: undefined reference to 'wpe_view_get_mapped'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:92: error: undefined reference to 'wpe_view_get_width'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:92: error: undefined reference to 'wpe_view_get_height'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:96: error: undefined reference to 'wpe_view_get_scale'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:262: error: undefined reference to 'wpe_view_get_screen'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:266: error: undefined reference to 'wpe_screen_get_id'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:104: error: undefined reference to 'wpe_view_get_toplevel'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:108: error: undefined reference to 'wpe_view_get_has_focus'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:123: error: undefined reference to 'wpe_view_get_toplevel_state'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:234: error: undefined reference to 'wpe_view_get_visible'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:234: error: undefined reference to 'wpe_view_get_has_focus'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_ref'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_unref'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:630: error: undefined reference to 'wpe_view_set_cursor_from_bytes'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:35: error: undefined reference to 'wpe_event_ref'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:198: error: undefined reference to 'wpe_input_method_context_new'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:78: error: undefined reference to 'wpe_input_method_context_set_input_purpose'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:83: error: undefined reference to 'wpe_input_method_context_set_input_hints'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:116: error: undefined reference to 'wpe_input_method_context_get_preedit_string'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:124: error: undefined reference to 'wpe_input_method_underline_get_color'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:126: error: undefined reference to 'wpe_input_method_underline_get_start_offset'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:127: error: undefined reference to 'wpe_input_method_underline_get_end_offset'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:133: error: undefined reference to 'wpe_input_method_underline_free'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:145: error: undefined reference to 'wpe_input_method_context_filter_key_event'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:151: error: undefined reference to 'wpe_input_method_context_focus_in'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:157: error: undefined reference to 'wpe_input_method_context_focus_out'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:163: error: undefined reference to 'wpe_input_method_context_set_cursor_area'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:169: error: undefined reference to 'wpe_input_method_context_set_surrounding'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitInputMethodContextImplWPE.cpp:175: error: undefined reference to 'wpe_input_method_context_reset'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp:239: error: undefined reference to 'wpe_view_get_width'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp:239: error: undefined reference to 'wpe_view_get_height'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp:0: error: undefined reference to 'wpe_view_set_opaque_rectangles'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:139: error: undefined reference to 'wpe_event_pointer_move_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:131: error: undefined reference to 'wpe_event_pointer_button_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:0: error: undefined reference to 'wpe_view_event'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:131: error: undefined reference to 'wpe_event_pointer_button_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:133: error: undefined reference to 'wpe_view_event'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:130: error: undefined reference to 'wpe_view_compute_press_count'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:133: error: undefined reference to 'wpe_view_event'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:434: error: undefined reference to 'wpe_unicode_to_keyval'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:223: error: undefined reference to 'wpe_view_get_display'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:225: error: undefined reference to 'wpe_display_get_keymap'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:229: error: undefined reference to 'wpe_keymap_get_entries_for_keyval'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:236: error: undefined reference to 'wpe_keymap_translate_keyboard_state'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:243: error: undefined reference to 'wpe_event_keyboard_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:245: error: undefined reference to 'wpe_view_event'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:248: error: undefined reference to 'wpe_event_keyboard_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:462: error: undefined reference to 'wpe_unicode_to_keyval'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:479: error: undefined reference to 'wpe_event_scroll_new'
../../../Source/WebKit/UIProcess/Automation/libwpe/WebAutomationSessionWPE.cpp:0: error: undefined reference to 'wpe_event_touch_new'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:169: error: undefined reference to 'wpe_gamepad_stop_input_monitor'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:159: error: undefined reference to 'wpe_gamepad_start_input_monitor'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:69: error: undefined reference to 'wpe_gamepad_start_input_monitor'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:102: error: undefined reference to 'wpe_display_get_primary'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:102: error: undefined reference to 'wpe_display_create_gamepad_manager'
../../../Source/WebKit/UIProcess/Gamepad/wpe/PlatformGamepadWPE.cpp:43: error: undefined reference to 'wpe_gamepad_get_name'
../../../Source/WebKit/UIProcess/Gamepad/wpe/GamepadProviderWPE.cpp:115: error: undefined reference to 'wpe_gamepad_manager_list_devices'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:137: error: undefined reference to 'wpe_view_get_display'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:147: error: undefined reference to 'wpe_view_set_toplevel'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:148: error: undefined reference to 'wpe_toplevel_resize'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:155: error: undefined reference to 'wpe_toplevel_resize'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:156: error: undefined reference to 'wpe_view_set_toplevel'
../../../Source/WebKit/UIProcess/Inspector/wpe/WebInspectorUIProxyWPE.cpp:220: error: undefined reference to 'wpe_toplevel_set_title'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/glib/DRMMainDevice.cpp:197: error: undefined reference to 'wpe_display_get_primary'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/glib/DRMMainDevice.cpp:197: error: undefined reference to 'wpe_display_get_drm_device'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/glib/DRMMainDevice.cpp:198: error: undefined reference to 'wpe_drm_device_get_primary_node'
./WebKitBuild/WPE/Release/../../../Source/WebKit/UIProcess/glib/DRMMainDevice.cpp:199: error: undefined reference to 'wpe_drm_device_get_render_node'
../../../Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:118: error: undefined reference to 'wpe_display_get_available_input_devices'
../../../Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:186: error: undefined reference to 'wpe_display_get_available_input_devices'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:122: error: undefined reference to 'wpe_view_get_display'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:122: error: undefined reference to 'wpe_buffer_dma_buf_new'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:141: error: undefined reference to 'wpe_buffer_shm_new'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:163: error: undefined reference to 'wpe_display_use_explicit_sync'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:164: error: undefined reference to 'wpe_buffer_set_rendering_fence'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:250: error: undefined reference to 'wpe_view_render_buffer'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:194: error: undefined reference to 'wpe_buffer_import_to_pixels'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:173: error: undefined reference to 'wpe_buffer_get_width'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:174: error: undefined reference to 'wpe_buffer_get_height'
../../../Source/WebKit/WPEPlatform/wpe/WPEBufferDMABuf.h:40: error: undefined reference to 'wpe_buffer_dma_buf_get_type'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:179: error: undefined reference to 'wpe_buffer_dma_buf_get_format'
../../../Source/WebKit/WPEPlatform/wpe/WPEBufferSHM.h:40: error: undefined reference to 'wpe_buffer_shm_get_type'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:273: error: undefined reference to 'wpe_buffer_take_release_fence'
../../../Source/WebKit/WPEPlatform/wpe/WPEBufferDMABuf.h:40: error: undefined reference to 'wpe_buffer_dma_buf_get_type'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:290: error: undefined reference to 'wpe_buffer_dma_buf_get_format'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:291: error: undefined reference to 'wpe_buffer_dma_buf_get_modifier'
../../../Source/WebKit/WPEPlatform/wpe/WPEBufferSHM.h:40: error: undefined reference to 'wpe_buffer_shm_get_type'
../../../Source/WebKit/UIProcess/wpe/AcceleratedBackingStore.cpp:295: error: undefined reference to 'wpe_buffer_shm_get_format'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:44: error: undefined reference to 'wpe_screen_get_sync_observer'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:50: error: undefined reference to 'wpe_screen_get_refresh_rate'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:57: error: undefined reference to 'wpe_screen_sync_observer_set_callback'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:73: error: undefined reference to 'wpe_screen_sync_observer_start'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:81: error: undefined reference to 'wpe_screen_sync_observer_stop'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:97: error: undefined reference to 'wpe_screen_sync_observer_is_active'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:81: error: undefined reference to 'wpe_screen_sync_observer_stop'
../../../Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:97: error: undefined reference to 'wpe_screen_sync_observer_is_active'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:39: error: undefined reference to 'wpe_screen_get_id'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:45: error: undefined reference to 'wpe_display_get_n_screens'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:47: error: undefined reference to 'wpe_display_get_screen'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:79: error: undefined reference to 'wpe_screen_get_width'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:80: error: undefined reference to 'wpe_screen_get_height'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:83: error: undefined reference to 'wpe_screen_get_x'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:83: error: undefined reference to 'wpe_screen_get_y'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:87: error: undefined reference to 'wpe_screen_get_physical_width'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:87: error: undefined reference to 'wpe_screen_get_physical_height'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:52: error: undefined reference to 'wpe_settings_get_boolean'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:41: error: undefined reference to 'wpe_settings_get_string'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:52: error: undefined reference to 'wpe_settings_get_boolean'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:76: error: undefined reference to 'wpe_settings_get_byte'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:76: error: undefined reference to 'wpe_settings_get_byte'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:76: error: undefined reference to 'wpe_settings_get_byte'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:88: error: undefined reference to 'wpe_settings_get_double'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:64: error: undefined reference to 'wpe_settings_get_uint32'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:64: error: undefined reference to 'wpe_settings_get_uint32'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:52: error: undefined reference to 'wpe_settings_get_boolean'
../../../Source/WebKit/UIProcess/wpe/SystemSettingsManagerProxyWPE.cpp:190: error: undefined reference to 'wpe_display_get_settings'
../../../Source/WebKit/UIProcess/wpe/WPEUtilities.cpp:38: error: undefined reference to 'wpe_display_get_type'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:84: error: undefined reference to 'wpe_view_get_accessible'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:85: error: undefined reference to 'wpe_view_accessible_bind'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:134: error: undefined reference to 'wpe_view_get_preferred_dma_buf_formats'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:139: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_device'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:140: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_n_groups'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:143: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_group_usage'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:155: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_group_device'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:159: error: undefined reference to 'wpe_drm_device_get_primary_node'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:159: error: undefined reference to 'wpe_drm_device_get_render_node'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:161: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_group_n_formats'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:165: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_format_fourcc'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:166: error: undefined reference to 'wpe_buffer_dma_buf_formats_get_format_modifiers'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:204: error: undefined reference to 'wpe_display_get_keymap'
../../../Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:206: error: undefined reference to 'wpe_keymap_get_modifiers'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:67: error: undefined reference to 'wpe_display_get_n_screens'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:68: error: undefined reference to 'wpe_display_get_screen'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:67: error: undefined reference to 'wpe_display_get_n_screens'
../../../Source/WebKit/UIProcess/wpe/ScreenManagerWPE.cpp:68: error: undefined reference to 'wpe_display_get_screen'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:66: error: undefined reference to 'wpe_display_get_clipboard'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:53: error: undefined reference to 'wpe_clipboard_get_formats'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:81: error: undefined reference to 'wpe_display_get_clipboard'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:83: error: undefined reference to 'wpe_clipboard_read_text'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:101: error: undefined reference to 'wpe_display_get_clipboard'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:102: error: undefined reference to 'wpe_clipboard_read_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:123: error: undefined reference to 'wpe_clipboard_content_new'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:125: error: undefined reference to 'wpe_clipboard_content_set_text'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:115: error: undefined reference to 'wpe_clipboard_content_set_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:115: error: undefined reference to 'wpe_clipboard_content_set_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:132: error: undefined reference to 'wpe_clipboard_set_content'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:36: error: undefined reference to 'wpe_clipboard_content_unref'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:150: error: undefined reference to 'wpe_clipboard_set_content'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:160: error: undefined reference to 'wpe_clipboard_read_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:170: error: undefined reference to 'wpe_clipboard_get_formats'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:196: error: undefined reference to 'wpe_clipboard_get_change_count'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:200: error: undefined reference to 'wpe_clipboard_content_new'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:252: error: undefined reference to 'wpe_clipboard_get_change_count'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:269: error: undefined reference to 'wpe_clipboard_get_change_count'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:286: error: undefined reference to 'wpe_clipboard_get_formats'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:305: error: undefined reference to 'wpe_clipboard_read_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:340: error: undefined reference to 'wpe_clipboard_get_change_count'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:206: error: undefined reference to 'wpe_clipboard_content_set_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:220: error: undefined reference to 'wpe_clipboard_content_set_bytes'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:223: error: undefined reference to 'wpe_clipboard_set_content'
../../../Source/WebKit/WPEPlatform/wpe/GRefPtrWPE.h:36: error: undefined reference to 'wpe_clipboard_content_unref'
../../../Source/WebKit/UIProcess/wpe/WebPasteboardProxyWPE.cpp:209: error: undefined reference to 'wpe_clipboard_content_set_text'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

@nikolaszimmermann
Copy link
Copy Markdown
Member Author

To reproduce: CC=clang CXX=clang++ build-webkit --wpe --release --cmakeargs '-DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_ASSERTS=ON -DENABLE_SWIFT_DEMO_URI_SCHEME=ON'

SWIFTLY_TOOLCHAINS_DIR="/opt/swift/toolchains" \
PATH="/opt/swift/bin:${PATH}"

RUN ${CURL_DOWNLOAD} --remote-name https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

swift doesn't provide builds for arm32 neither official support.

# wget https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz
--2025-10-31 16:05:22--  https://download.swift.org/swiftly/linux/swiftly-armv8l.tar.gz
[...]
HTTP request sent, awaiting response... 404 Not Found
2025-10-31 16:05:23 ERROR 404: Not Found.

But fortunately seems there is community effort to support it.

Check this fork https://github.com/swift-embedded-linux/armhf-debian
it provides binaries ready to use for debian and ubuntu at https://github.com/swift-embedded-linux/armhf-debian/releases (click on show all assets)

This was found via: https://medium.com/@jesselzamora/running-swift-on-32-bit-raspberry-pis-b3307ce713ba

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just the start - at the moment we cannot even compile WebKit on amd64 🤣 good that you found the arm32 stuff

@philn
Copy link
Copy Markdown
Member

philn commented Oct 31, 2025

I got the demo working in GTK MB here, on a f43 container (with swift from Fedora, version 6.2) on an x86-64 host. I had to patch the shell wrapper:

diff --git a/Tools/Scripts/swift/swiftc-wrapper.sh b/Tools/Scripts/swift/swiftc-wrapper.sh
index ef56e5e960cb..71d55f8e2565 100755
--- a/Tools/Scripts/swift/swiftc-wrapper.sh
+++ b/Tools/Scripts/swift/swiftc-wrapper.sh
@@ -8,6 +8,15 @@ REAL_SWIFTC=
 args=()

 for arg in "$@"; do
+    if [ "$arg" == "-msse" ]; then
+        continue
+    fi
+    if [ "$arg" == "-msse2" ]; then
+        continue
+    fi
+    if [ "$arg" == "-mfpmath=sse" ]; then
+        continue
+    fi
     if [ "$arg" != "-pthread" ]; then
         if [[ "$arg" == --original-swift-compiler=* ]]; then
             REAL_SWIFTC="${arg#--original-swift-compiler=}"

and then, LD_LIBRARY_PATH=/usr/libexec/swift/6.2/lib/swift/linux/ run-minibrowser --gtk x-swift-demo://

@TingPing
Copy link
Copy Markdown
Member

TingPing commented Jan 16, 2026

I hit another failure:

error: emit-module command failed with exit code 1 (use -v to see invocation)
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "WebKitInternalCxx.h"
  |          `- note: in file included from <module-includes>:1:
2 | 

/sdk/webkit/Source/WebKit/Modules/Internal/WebKitInternalCxx.h:28:9: note: in file included from /sdk/webkit/Source/WebKit/Modules/Internal/WebKitInternalCxx.h:28:
26 | // Add project-level C++ header files here to be able to access them from within Swift sources.
27 | 
28 | #import "IPCTesterReceiverMessages.h"
   |         `- note: in file included from /sdk/webkit/Source/WebKit/Modules/Internal/WebKitInternalCxx.h:28:
29 | #import "UIProcess/SwiftDemoLogoConfirmation.h"
30 | 

/sdk/webkit/WebKitBuild/GTK/Release/DerivedSources/WebKit/IPCTesterReceiverMessages.h:27:5: error: function-like macro 'ENABLE' is not defined
 25 | #pragma once
 26 | 
 27 | #if ENABLE(IPC_TESTING_API)
    |     `- error: function-like macro 'ENABLE' is not defined
 28 | 
 29 | #include "ArgumentCoders.h"

A workaround, certainly not right, was just to add #include <wtf/Platform.h> to WebKitInternalCxx.h

@TingPing
Copy link
Copy Markdown
Member

I took a different approach to installing swift here: https://github.com/Igalia/webkit-container-sdk/tree/pgriffis/swift

Instead of using swiftly which can only install into a users home, this downloads the binaries to /opt/swift.

To actually use it then you have to add /opt/swift/bin to PATH and maybe a few more.

I believe the only supported way of using this is by using the bundled clang-17.

@bertogg
Copy link
Copy Markdown
Member

bertogg commented Jan 28, 2026

I hit another failure:

error: emit-module command failed with exit code 1 (use -v to see invocation)
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "WebKitInternalCxx.h"
  |          `- note: in file included from <module-includes>:1:
2 | 

Hi, this is fixed with this patch, we should try to have it merged: WebKit/WebKit#56906

For the shell wrapper problem that @philn mentioned I suggested this patch: https://bugs.webkit.org/show_bug.cgi?id=305785#c9

Again, if someone can help me get it accepted I'd appreciate it.

With those two I'm able to make a Swift-enabled build of WebKitGTK.

@bertogg
Copy link
Copy Markdown
Member

bertogg commented Jan 28, 2026

Regarding the Swift compiler, for my tests I was using the one available in Debian / Ubuntu (6.1.3-4 as of this writing).

@nikolaszimmermann
Copy link
Copy Markdown
Member Author

@bertogg any suggestions here, how to proceed?

@bertogg
Copy link
Copy Markdown
Member

bertogg commented Mar 17, 2026

As things are now in the main branch, the Swift demo should build just fine, you only need to pass -DENABLE_SWIFT_DEMO_URI_SCHEME=ON (and optionally -DCMAKE_Swift_COMPILER=/path/to/swiftc if it's not in the path already).

I was testing the swiftlang packages provided by the distro, in Debian it's available since trixie and in Ubuntu since 25.04.

If that's not an option then using the official releases from Apple should be fine, I actually suspect that the distro packages of Swift will be out of date at some point, my understanding is that, at least initially, Apple plans to use always the most recent stable release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants