Crashpad Linux bots are broken |
|||
Issue descriptionSince https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_dbg/builds/29 and https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_rel/builds/31 (Meaning that 28 and 30 were OK. These are builders, but the trybots are affected too.) the Linux bots aren’t linking anything successfully. https://build.chromium.org/p/client.crashpad/builders/crashpad_linux_dbg/builds/38/steps/compile%20with%20ninja/logs/stdio ninja: Entering directory `/b/build/slave/crashpad_linux_dbg/build/crashpad/out/Debug' [1/117] LINK ./crashpad_test_test_multiprocess_exec_test_child FAILED: crashpad_test_test_multiprocess_exec_test_child ../../third_party/linux/clang/linux-amd64/bin/clang++ -static-libstdc++ -Wl,--as-needed -Wl,-z,noexecstack --sysroot=../../third_party/linux/sysroot -pthread -pie -o "./crashpad_test_test_multiprocess_exec_test_child" -Wl,--start-group obj/test/crashpad_test_test_multiprocess_exec_test_child.multiprocess_exec_test_child.o obj/third_party/mini_chromium/mini_chromium/base/libbase.a -Wl,--end-group /b/build/slave/crashpad_linux_dbg/build/crashpad/out/Debug/../../third_party/linux/clang/linux-amd64/bin/ld.lld: error: unable to find library -lc++ clang-7: error: linker command failed with exit code 1 (use -v to see invocation) Based on the discussion last month at https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/939731, we intend to use libstdc++ on our own bots, not libc++. Did we recently wind up picking up a new clang that defaults to libc++ instead of libstdc++? Our sysroot might not have this.
,
Apr 4 2018
Oh, and yes, we probably just magically got a new clang. Unfortunately (?) I didn't pin the Fuchsia SDK or the clang binaries, so we just get whatever the latest cipd package is. I was trying to avoid having to do a lot of fiddling with rolls, but maybe it's more aggravating to have things sneakily break.
,
Apr 4 2018
Oh, of course it needs to be in cflags too. With that we're closer https://gist.github.com/sgraham/c0e0cd217b448d63f1c6588caccf3774 but I guess there's something else related to unwinding that's changed recently too.
,
Apr 4 2018
https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/996452 seems to work? I don't really know what I'm doing.
,
Apr 4 2018
Compile fixed by these: https://chromium.googlesource.com/chromium/tools/build/+/9e60476345958dc5b43124a5028b8f27ec0555d0 https://chromium.googlesource.com/chromium/mini_chromium/+/6e0fdb2e4966ec44b1ce7b8464fd7c80d1b59203 https://chromium.googlesource.com/crashpad/crashpad.git/+/ba0bd63254a7dd1dd059380e2746f79832815b5d crashapd_handler_test --gtest_filter=ExceptionHandlerServerTest.RequestCrashDumpForkBroker is failing at runtime. That's also failing in the same way when run locally for me, so I think the bot part of this is fixed. |
|||
►
Sign in to add a comment |
|||
Comment 1 by scottmg@chromium.org
, Apr 4 2018It does seem that it's defaulting to libc++ now, though I didn't track down where clang changed that. I tried adding this: "-stdlib=libstdc++", to the ldflags, but then I just get a bunch of junk about basic_string missing, so maybe that's not really doing what I think it's doing. https://gist.github.com/sgraham/5e5118f516e2a7d56c41c970324b4044 (We also need to switch the bot args after the renaming of enable_http_transport_libcurl to crashpad_enable_http_transport_libcurl.)