Update NativeClient to use hermetic xcode toolchain. |
||||
Issue descriptionfind_sdk.py is used to find the input to -isysroot. The latter two files both invoke it. native_client/build/mac/find_sdk.py native_client/SConstruct native_client/toolchain_build/toolchain_build_pnacl.py
,
Oct 19 2016
Unfortunately, SConstruct gets used as part of the testing (!?) process. https://build.chromium.org/p/chromium.fyi/builders/Chromium%20Mac%2010.11%20Force%20Mac%20Toolchain/builds/14583/steps/nacl_integration/logs/stdio """ Building files needed for nacl-newlib testing... Running /usr/bin/python scons.py disable_tests=run_ppapi_ppb_image_data_browser_test,run_ppapi_crash_browser_test --verbose -k platform=x86-64 --mode=opt-host,nacl,nacl_irt_test chrome_browser_path=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/out/Release/Chromium.app/Contents/MacOS/Chromium nacl_newlib_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/nacl_x86_newlib nacl_glibc_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/nacl_x86_glibc pnacl_newlib_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/pnacl_newlib disable_flaky_tests=1 chrome_browser_tests json_build_results_output_file=/tmp/tmpa_bSLX do_not_run_tests=1 -j8 scons: Reading SConscript files ... Traceback (most recent call last): File "../build/mac/find_sdk.py", line 89, in <module> print main() File "../build/mac/find_sdk.py", line 57, in main sdks = [re.findall('^MacOSX(10\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)] OSError: [Errno 2] No such file or directory: '/Library/Developer/CommandLineTools/Platforms/MacOSX.platform/Developer/SDKs' CalledProcessError: Command '['/usr/bin/python', '../build/mac/find_sdk.py', '--print_sdk_path', '10.10']' returned non-zero exit status 1: File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2437: (mac_debug_env, mac_optimized_env) = GenerateOptimizationLevels(MakeMacEnv()) File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2408: mac_sdk_min File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573: raise CalledProcessError(retcode, cmd, output=output) """
,
Oct 19 2016
Machines of the NativeClient waterfall (e.g. vm602-m3) have a native_client checkout, but don't have a chromium checkout, so they don't even have the means to get the hermetic toolchain.
,
Oct 19 2016
I tried to plumb hermetic xcode through NativeClient + scons. Unfortunately, it looks like scons is dropping the DEVELOPER_DIR environment variable when invoking gcc/g++.
Looking at the 2.0.1 release notes:
"""
- If the "env" command is available, spawn commands with the more
general "env -" instead of "env -i".
"""
it looks like this is perhaps intentional, and even systematic.
I tried removing all instances of "env -i" in native_client code, but that didn't fix the problem. I tried replacing the gcc shim with a script that sleeps in its place. I then tried to ctr-C the scons script to get a backtrace - alas, scons is sufficient complex that this does not print anything useful. I tried to use -j1, but scons is multithreaded [or at least, invokes gcc/g++ asynchronously].
Chatting with mseaborn, it appears the only point of the nacl_integration_tests is to test crash reporting for nacl within Chrome. If we could find a different way of testing that, we wouldn't need nacl_integration_tests.
Unfortunately, neither updating nacl_integration_tests nor plumbing hermetic xcode through yet another build system [scons] appears to be an easy task.
I'm inclined to ignore this problem by requiring that all mac bots in the infra fleet have an xcode install [already true]. So nacl_integration_tests and bots on the nacl waterfall will continue to use the system xcode.
,
Oct 19 2016
,
Oct 19 2016
> Chatting with mseaborn, it appears the only point of the nacl_integration_tests is to test crash reporting for nacl within Chrome. If we could find a different way of testing that, we wouldn't need nacl_integration_tests. This test is a significant problem for issue 98637 . The comment above implies like it's a diminishing return on the investment to keep it alive. Can we get without it?
,
Nov 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/97d826e88cf1639b0bec80510ec437ea4d3709e1 commit 97d826e88cf1639b0bec80510ec437ea4d3709e1 Author: erikchen <erikchen@chromium.org> Date: Tue Nov 01 18:29:47 2016 Don't run nacl_integration tests on mac. Only two tests remain enabled on Mac in the nacl_integration step. From the log output, they are: [ RUN ] nacl_newlib.run_breakpad_untrusted_crash_test [ RUN ] nacl_newlib.run_inbrowser_test_runner We have been keeping nacl_integration around because it has some tests that cover crash reporting. Without these, we have no integration tests for crash reporting in Chrome (whether crash reporting is handled via Breakpad, Crashpad or anything else). However, most of those tests have been disabled over time (at least for Mac), and the remaining one (untrusted_crash_test) isn't useful without the others. We can live without "inbrowser_test_runner". It's somewhat useful, but not worth keeping nacl_integration enabled for. BUG= 626093 , 655771 , 154400 Review-Url: https://codereview.chromium.org/2448563002 Cr-Commit-Position: refs/heads/master@{#429058} [modify] https://crrev.com/97d826e88cf1639b0bec80510ec437ea4d3709e1/testing/buildbot/chromium.mac.json
,
Jun 8 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/b2a65b5d70d0c99447e2566d416f0f4363998257 commit b2a65b5d70d0c99447e2566d416f0f4363998257 Author: Erik Chen <erikchen@google.com> Date: Thu Jun 08 21:27:36 2017
,
Jun 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8cf933d89289b5855a0c05c4e5245b683524441e commit 8cf933d89289b5855a0c05c4e5245b683524441e Author: erikchen <erikchen@chromium.org> Date: Thu Jun 08 21:31:10 2017 Stop running nacl_integration tests on ClangToT macOS builds. BUG=154400, 655771 , 626093 Review-Url: https://codereview.chromium.org/2932643002 Cr-Commit-Position: refs/heads/master@{#478092} [modify] https://crrev.com/8cf933d89289b5855a0c05c4e5245b683524441e/testing/buildbot/chromium.fyi.json
,
Jun 8 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/01578c11dd05c7021ca85abab332f101e0a9908b commit 01578c11dd05c7021ca85abab332f101e0a9908b Author: Michael Moss <mmoss@google.com> Date: Thu Jun 08 22:45:53 2017
,
Jun 8 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/831872d6538aa7a360a3c15765537277150e1655 commit 831872d6538aa7a360a3c15765537277150e1655 Author: Erik Chen <erikchen@google.com> Date: Thu Jun 08 23:34:32 2017 |
||||
►
Sign in to add a comment |
||||
Comment 1 by erikc...@chromium.org
, Oct 13 2016