NEW 212448
"build-webkit --debug --ios-simulator" doesn't build MobileMiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=212448
Summary "build-webkit --debug --ios-simulator" doesn't build MobileMiniBrowser
Kenneth Russell
Reported 2020-05-27 17:19:39 PDT
To reproduce: ./Tools/Scripts/build-webkit --debug --ios-simulator > build-log.txt 2>&1 Then open WebKit.xcworkspace, set it up to run MobileMiniBrowser on the iPad Pro (9.7-inch), and try to do "Product" -> "Perform Action" -> "Run Without Building". It reports that there's nothing to run, and that's because Xcode's looking for "Tools/MobileMiniBrowser/build/Debug/MobileMiniBrowser.app". (The Xcode workspace settings are set up with relative paths in WebKitBuild per instructions at https://webkit.org/building-webkit/ .) Attempting to edit the MobileMiniBrowser scheme to manually run WebKitBuild/Debug-iphonesimulator/MobileMiniBrowser.app brings up a dialog: --- The file "MobileMiniBrowser" couldn't be opened because you don't have permission to view..." --- This was working for me yesterday, before I attempted to edit my scheme to use a Release build instead of a Debug build. It was very convenient to be able to launch MobileMiniBrowser reliably inside of Xcode. What is needed in order to fix this?
Attachments
Build log, from scratch (1.25 MB, application/zip)
2020-06-01 13:18 PDT, Kenneth Russell
no flags
James Darpinian's build script (2.07 KB, text/plain)
2020-06-01 13:54 PDT, Kenneth Russell
no flags
Kenneth Russell
Comment 1 2020-05-27 17:29:15 PDT
Note: I might have broken something in Bug 212428.
Kenneth Russell
Comment 2 2020-06-01 13:17:02 PDT
After the switch back to the legacy build system in Bug 212530, I synced to ToT WebKit, deleted WebKit build, and ran: ./Tools/Scripts/build-webkit --debug --ios-simulator > build-log.txt Here's the attached build log and the contents of `ls -1 WebKitBuild/Debug-iphonesimulator`: DerivedSources DumpRenderTree DumpRenderTree.app DumpRenderTree.app.dSYM DumpRenderTree.dSYM InjectedBundleTestWebKitAPI.bundle InjectedBundleTestWebKitAPI.bundle.dSYM JSCLLIntOffsetsExtractor JSCLLIntSettingsExtractor JavaScriptCore.framework LLIntOffsets LayoutTestHelper LayoutTestHelper.dSYM PluginProcessShim.dylib PluginProcessShim.tbd SecItemShim.dylib SecItemShim.tbd TestNetscapePlugIn.plugin TestWTF TestWTF.dSYM TestWebKitAPI TestWebKitAPI.dSYM TestWebKitAPI.resources TestWebKitAPI.wkbundle TestWebKitAPI.wkbundle.dSYM WebCore.framework WebCoreTestSupport WebKit.framework WebKitLegacy.framework WebKitTestRunner WebKitTestRunner.dSYM WebKitTestRunnerApp.app WebKitTestRunnerApp.app.dSYM WebKitTestRunnerInjectedBundle.bundle WebKitTestRunnerInjectedBundle.bundle.dSYM WebKitTestSupport com.apple.WebKit.GPU.xpc com.apple.WebKit.Networking.xpc com.apple.WebKit.Plugin.64.xpc com.apple.WebKit.WebContent.Development.xpc com.apple.WebKit.WebContent.xpc dynbench gtest.framework gtest.framework.dSYM jsc libANGLE.a libDumpRenderTree.a libPAL.a libTestWTF.a libTestWebKitAPI.a libWTF.a libWebCoreTestShim.dylib libWebCoreTestSupport.dylib libWebKitTestRunner.a libbmalloc.a libboringssl.a libgtest.a libgtest_main.a libopus.a libsrtp.a libusrsctp.a libvpx.a libwebrtc.dylib libwebrtcpcrtc.a libyuv.a minidom minidom.js testRegExp testair testapi testapiScripts testb3 testdfg testmasm testmem usr yasm MobileMiniBrowser.app wasn't built by the command-line script. Is this expected?
Kenneth Russell
Comment 3 2020-06-01 13:18:05 PDT
Created attachment 400750 [details] Build log, from scratch build log from: ./Tools/Scripts/build-webkit --debug --ios-simulator > build-log.txt 2>&1
Kenneth Russell
Comment 4 2020-06-01 13:54:45 PDT
Created attachment 400756 [details] James Darpinian's build script The reason for the error: --- The file "MobileMiniBrowser" couldn't be opened because you don't have permission to view..." --- was that the MobileMiniBrowser.app in WebKitBuild/Debug-iphonesimulator was badly incomplete - it only contained an empty "Frameworks" directory. It looks like the command-line build scripts for --ios-simulator don't build MobileMiniBrowser.app. Our teammate James Darpinian (CC'd) made the attached build script, which does explicitly build MobileMiniBrowser for the simulator. By running that, I was able to build a working MobileMiniBrowser.app again, and now Xcode will run that without building in the iPad simulator.
Keith Rollin
Comment 5 2020-06-01 15:03:17 PDT
Jer added the MobileMiniBrowser project, so cc'ing him in case he has any comments on it being added to build-webkit and/or elsewhere.
Kenneth Russell
Comment 6 2020-07-10 17:13:05 PDT
Adjusting the bug summary to be more correct. A corollary problem is that: ./Tools/Scripts/run-minibrowser --debug --ipad-simulator looks for MiniBrowser, not MobileMiniBrowser. Here's current output: Starting MiniBrowser with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/kbr/src/iOSWebKit/WebKitBuild/Debug. arch: /Users/kbr/src/iOSWebKit/WebKitBuild/Debug/MiniBrowser.app/Contents/MacOS/MiniBrowser isn't executable ScriptError raised: Failed to run "['Tools/Scripts/old-run-minibrowser']" exit_code: 1 cwd: /Users/kbr/src/iOSWebKit Traceback (most recent call last): File "/Users/kbr/src/iOSWebKit/Tools/Scripts/webkitpy/minibrowser/run_webkit_app.py", line 66, in main return port.run_minibrowser(browser_args) File "/Users/kbr/src/iOSWebKit/Tools/Scripts/webkitpy/port/base.py", line 1373, in run_minibrowser return self._executive.run_command([miniBrowser] + args, stdout=None, cwd=self.webkit_base(), return_stderr=False, decode_output=False) File "/Users/kbr/src/iOSWebKit/Tools/Scripts/webkitpy/common/system/executive.py", line 435, in run_command (error_handler or self.default_error_handler)(script_error) File "/Users/kbr/src/iOSWebKit/Tools/Scripts/webkitpy/common/system/abstractexecutive.py", line 97, in default_error_handler raise error ScriptError: Failed to run "['Tools/Scripts/old-run-minibrowser']" exit_code: 1 cwd: /Users/kbr/src/iOSWebKit
Kenneth Russell
Comment 7 2020-07-10 17:17:06 PDT
run-safari with the iOS simulator looks broken now too: kbr-macbookpro:iOSWebKit kbr$ ./Tools/Scripts/run-safari --debug --ipad-simulator malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "Install Started\n1%....") at /Users/kbr/src/iOSWebKit/Tools/Scripts/webkitdirs.pm line 2725.
Note You need to log in before you can comment on or make changes to this bug.