Как скомпилировать BCC на Ubuntu 20.04?

Я пытаюсь скомпилировать структуру BCC BPF (https://github.com/iovisor/bcc) на Ubuntu 20.04. Я выполнил все инструкции на 18.04, но конечно; они терпят неудачу.

У меня проблема, похоже, связана с лязгом

In file included from /usr/local/include/clang/Frontend/CompilerInstance.h:15,
                 from /home/matt/code/bpf/bcc/src/cc/frontends/clang/loader.cc:43:
/usr/local/include/clang/Frontend/CompilerInvocation.h:157:15: note: candidate: ‘static bool clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, llvm::ArrayRef<const char*>, clang::DiagnosticsEngine&)’
  157 |   static bool CreateFromArgs(CompilerInvocation &Res,
      |               ^~~~~~~~~~~~~~
/usr/local/include/clang/Frontend/CompilerInvocation.h:157:15: note:   candidate expects 3 arguments, 4 provided
make[2]: *** [src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/build.make:63: src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:982: src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Как получить компиляцию BCC в Ubuntu 20.04?

2 ответа

Решение

Что касается BCC v0.14.0-a28337a, мне нужно использовать llvm-7 вместо последней версии LLVM. Также,-DPYTHON_CMD=python3или требуется установка Python2, потому что Python 2 больше не устанавливается по умолчанию. Также требуются другие зависимости, перечисленные в https://github.com/iovisor/bcc/blob/master/INSTALL.md.

Я могу собрать его на своей виртуальной машине Ubuntu 20.04.

cmake -Bbuild -DPYTHON_CMD=python3 -DCMAKE_PREFIX_PATH=/usr/lib/llvm-7
make -Cbuild

У меня такая же проблема. Что сработало для меня, так это использовать другую ветку, на самом деле последний тег, вы можете проверить это на сайте github для проекта: https://github.com/iovisor/bcc.git

Один я сделал git checkout v0.24.0 # for exampleэто сработало.

Подсказка: вероятно, основная ветка может быть не лучшим выбором, так как она может быть сломана из-за последнего коммита, переход на последнюю стабильную версию уже работал у меня во многих других проектах.

Другие вопросы по тегам