bazel-contrib / toolchains_llvm

LLVM toolchain for bazel
Apache License 2.0
281 stars 207 forks source link

Missing llvm-ar ? #26

Closed mattgodbolt closed 4 years ago

mattgodbolt commented 4 years ago

I just updated to 2200d5315ddd3071985a2e82e574da525617867e and now I get:

src/main/tools/linux-sandbox-pid1.cc:427: "execvp(external/llvm_toolchain/bin/llvm-ar, 0xbf08a0)": No such file or directory

when building. The most recent commit appears to have been something that tried to fix this (making a guess) - any ideas? (LLVM 8.0.0 but 9.0.0 fails too, on Linux 64)

mattgodbolt commented 4 years ago

For what it's worth appears to be packaged:

~/d/core (master|✔) 14.9s $ ls bazel-core/external/llvm_toolchain/bin/
ar@                        clang-change-namespace*  clang-include-fixer*    dsymutil*          llc*              llvm-cfi-verify*  llvm-diff*       llvm-lib@         llvm-nm*          llvm-readelf@  llvm-symbolizer*  sanstats*
bugpoint*                  clang-check*             clang-offload-bundler*  find-all-symbols*  lld*              llvm-config*      llvm-dis*        llvm-link*        llvm-objcopy*     llvm-readobj*  llvm-tblgen*      scan-build*
cc_wrapper.sh*             clang-cl@                clang-query*            git-clang-format*  lld-link@         llvm-cov*         llvm-dlltool@    llvm-lto*         llvm-objdump*     llvm-rtdyld*   llvm-undname*     scan-view*
c-index-test*              clang-cpp@               clang-refactor*         hmaptool*          lli*              llvm-c-test*      llvm-dwarfdump*  llvm-lto2*        llvm-opt-report*  llvm-size*     llvm-xray*        verify-uselistorder*
clang@                     clangd*                  clang-rename*           ld@                llvm-ar*          llvm-cvtres*      llvm-dwp*        llvm-mc*          llvm-pdbutil*     llvm-split*    modularize*       wasm-ld@
clang++@                   clang-extdef-mapping*    clang-reorder-fields*   ld64.lld@          llvm-as*          llvm-cxxdump*     llvm-elfabi*     llvm-mca*         llvm-profdata*    llvm-stress*   obj2yaml*         yaml2obj*
clang-8*                   clang-format*            clang-tidy*             ld.gold@           llvm-bcanalyzer*  llvm-cxxfilt*     llvm-exegesis*   llvm-modextract*  llvm-ranlib@      llvm-strings*  opt*
clang-apply-replacements*  clang-import-test*       diagtool*               ld.lld@            llvm-cat*         llvm-cxxmap*      llvm-extract*    llvm-mt*          llvm-rc*          llvm-strip@    sancov*
mattgodbolt commented 4 years ago
~/d/core (master|✔) $ bazel-core/external/llvm_toolchain/bin/llvm-ar --version
LLVM (http://llvm.org/):
  LLVM version 8.0.0
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: skylake-avx512
mattgodbolt commented 4 years ago

Running with sanbox debugging and then ls-ing the directory that actually gets mounted in the sandbox:

~/d/core (master|✔) $ ls /home/mgodbolt/.cache/bazel/_bazel_mgodbolt/d5bad8eff3da01980a0963475d1edfc1/sandbox/linux-sandbox/2019/execroot/__main__/external/
bazel_tools/  llvm_toolchain/
~/d/core (master|✔) $ ls /home/mgodbolt/.cache/bazel/_bazel_mgodbolt/d5bad8eff3da01980a0963475d1edfc1/sandbox/linux-sandbox/2019/execroot/__main__/external/llvm_toolchain/bin/
clang@  clang++@  clang-cpp@  ld@  ld.gold@  ld.lld@
mattgodbolt commented 4 years ago

I just did a binary search of revisions and found that the revision 2200d53 is the culprit. Everything works if I stick to 8f2721aaf4db902529eb92cdf078d4e68dbd4173

siddharthab commented 4 years ago

I think that commit put a minimum bazel version requirement of 1.0. Does it work for you on that?

mattgodbolt commented 4 years ago

At the moment I'm blocked from using bazel 1.0 by other upstream dependencies failing (mostly grpc-related). I'll try when I can get those updated and working. Thanks!

siddharthab commented 4 years ago

Thank you. I will add the minimum version requirement so the messaging is clear.

The unresolved issues in this project will require bazel 1.0, so there is reason for us to support only versions 1.0 and up.

mattgodbolt commented 4 years ago

Sounds good to me: thank you!

mattgodbolt commented 4 years ago

Confirmed fixed if I upgrade to 1.0: thanks!