This is an archive of the discontinued LLVM Phabricator instance.

[runtimes] Use standalone build only for compiler-rt
ClosedPublic

Authored by phosek on Feb 26 2021, 12:55 PM.

Details

Summary

compiler-rt needs to use standalone build because of the assumptions
made by its build, but other runtimes can use non-standalone build.

Diff Detail

Event Timeline

phosek created this revision.Feb 26 2021, 12:55 PM
phosek requested review of this revision.Feb 26 2021, 12:55 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added subscribers: Restricted Project, sstefan1. · View Herald Transcript

This LGTM except for the comment nitpick, but honestly I'm not entirely sure how to test this. Do you know if the current pre-merge checks run the runtimes build?

runtimes/CMakeLists.txt
113

I think the sentence isn't finished?

phosek updated this revision to Diff 326782.Feb 26 2021, 1:03 PM
phosek marked an inline comment as done.Feb 26 2021, 1:05 PM

Do you know if the current pre-merge checks run the runtimes build?

AFAIK no, I'm testing this locally for now. The only builder that uses the runtimes build is the Fuchsia (post-submit) one but it's offline right now as we're upgrading the OS. I can hold-off submitting this until they're back online. We also have our downstream builders that use runtimes build which would catch any potential issues.

phosek added a comment.Mar 1 2021, 3:30 PM

Do you know if the current pre-merge checks run the runtimes build?

AFAIK no, I'm testing this locally for now. The only builder that uses the runtimes build is the Fuchsia (post-submit) one but it's offline right now as we're upgrading the OS. I can hold-off submitting this until they're back online. We also have our downstream builders that use runtimes build which would catch any potential issues.

This seems to be working for me locally so I'd prefer to land this as is (and roll back in case of a downstream issues).

ldionne accepted this revision.Mar 1 2021, 3:37 PM

LGTM

This revision is now accepted and ready to land.Mar 1 2021, 3:37 PM
This revision was landed with ongoing or failed builds.Mar 2 2021, 4:21 PM
This revision was automatically updated to reflect the committed changes.
phosek updated this revision to Diff 327679.Mar 2 2021, 11:26 PM
phosek reopened this revision.Mar 3 2021, 12:05 AM
phosek updated this revision to Diff 327687.
This revision is now accepted and ready to land.Mar 3 2021, 12:05 AM
This revision was landed with ongoing or failed builds.Mar 3 2021, 12:06 AM
This revision was automatically updated to reflect the committed changes.
amyk added a subscriber: amyk.Mar 4 2021, 6:06 AM

Hi,

I believe this commit is causing failures on the following PowerPC buildbots:
https://lab.llvm.org/buildbot/#/builders/19/builds/2678
https://lab.llvm.org/buildbot/#/builders/18/builds/868

An example of the errors I am seeing:

CMake Error at /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/libcxx/benchmarks/CMakeLists.txt:198 (include):
  include could not find load file:
    AddLLVM
CMake Error at /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/libcxx/benchmarks/CMakeLists.txt:204 (configure_lit_site_cfg):
  Unknown CMake command "configure_lit_site_cfg".
[ 28%] Building IntrinsicsVE.h...
-- Configuring incomplete, errors occurred!
See also "/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/clang_build/projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-bins/CMakeFiles/CMakeOutput.log".
See also "/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/clang_build/projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-bins/CMakeFiles/CMakeError.log".
make[3]: *** [projects/compiler-rt/lib/tsan/CMakeFiles/libcxx_tsan_powerpc64-build.dir/build.make:87: projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-stamps/libcxx_tsan_powerpc64-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:35496: projects/compiler-rt/lib/tsan/CMakeFiles/libcxx_tsan_powerpc64-build.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 28%] Built target ClangARMMveBuiltinCG
[ 30%] Built target LLVMMC
[ 30%] Built target ClangDriverOptions
[ 30%] Built target ClangARMSveSemaRangeChecks
[ 30%] Built target ClangARMSveBuiltins
[ 30%] Built target ClangARMSveBuiltinCG
[ 30%] Built target intrinsics_gen
[ 36%] Built target clang-resource-headers
make[1]: *** [CMakeFiles/Makefile2:37499: projects/compiler-rt/test/tsan/CMakeFiles/check-tsan.dir/rule] Error 2
make: *** [Makefile:10086: check-tsan] Error 2

Do you by any chance have an idea of a solution for this? Otherwise, would it be possible to pull this patch?

amyk added a comment.Mar 4 2021, 10:59 AM

Hi,

I believe this commit is causing failures on the following PowerPC buildbots:
https://lab.llvm.org/buildbot/#/builders/19/builds/2678
https://lab.llvm.org/buildbot/#/builders/18/builds/868

An example of the errors I am seeing:

CMake Error at /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/libcxx/benchmarks/CMakeLists.txt:198 (include):
  include could not find load file:
    AddLLVM
CMake Error at /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/libcxx/benchmarks/CMakeLists.txt:204 (configure_lit_site_cfg):
  Unknown CMake command "configure_lit_site_cfg".
[ 28%] Building IntrinsicsVE.h...
-- Configuring incomplete, errors occurred!
See also "/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/clang_build/projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-bins/CMakeFiles/CMakeOutput.log".
See also "/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/clang_build/projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-bins/CMakeFiles/CMakeError.log".
make[3]: *** [projects/compiler-rt/lib/tsan/CMakeFiles/libcxx_tsan_powerpc64-build.dir/build.make:87: projects/compiler-rt/lib/tsan/libcxx_tsan_powerpc64-stamps/libcxx_tsan_powerpc64-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:35496: projects/compiler-rt/lib/tsan/CMakeFiles/libcxx_tsan_powerpc64-build.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 28%] Built target ClangARMMveBuiltinCG
[ 30%] Built target LLVMMC
[ 30%] Built target ClangDriverOptions
[ 30%] Built target ClangARMSveSemaRangeChecks
[ 30%] Built target ClangARMSveBuiltins
[ 30%] Built target ClangARMSveBuiltinCG
[ 30%] Built target intrinsics_gen
[ 36%] Built target clang-resource-headers
make[1]: *** [CMakeFiles/Makefile2:37499: projects/compiler-rt/test/tsan/CMakeFiles/check-tsan.dir/rule] Error 2
make: *** [Makefile:10086: check-tsan] Error 2

Do you by any chance have an idea of a solution for this? Otherwise, would it be possible to pull this patch?

I believe I had to force a clean build.
I was able to get a successful build on the sanitizer-ppc64le-linux bot: https://lab.llvm.org/buildbot/#/builders/19/builds/2713

Great, thank you for looking into it. I tried to reproduce it locally but unsuccessfully, it sounds like it was just a stale build state.