While I try to build the bcc from source. I see the following errors.
/home/pegasus/Documents/eBPFShield/bcc/src/cc/frontends/clang/loader.cc:35:10: fatal error: clang/Basic/FileManager.h: No such file or directory
35 | #include <clang/Basic/FileManager.h>
My LLVM is also built from source. The binaries are here:
/home/pegasus/Documents/llvm-project/build/bin
pegasus@pegasus:~/Documents/eBPFShield/bcc/build$ cmake ..
cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
CMake Deprecation Warning at CMakeLists.txt:3 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- Latest recognized Git tag is v0.30.0
-- Git HEAD is 679166bdee74302b46b14c3a8fe5c3db7198d3f4
-- Revision is 0.30.0+679166bd (major 0, minor 30, patch 0)
-- Kernel release: 6.4.0-060400-generic
-- Kernel headers: /usr/src/linux-headers-6.4.0-060400-generic
-- Found LLVM: /home/pegasus/Documents/llvm-project/llvm/include;/home/pegasus/Documents/llvm-project/build/include 19.0.0git (Use LLVM_ROOT envronment variable for another version of LLVM)
-- Using static-libstdc++
-- Could NOT find LuaJIT (missing: LUAJIT_LIBRARIES LUAJIT_INCLUDE_DIR)
-- Configuring done (0.5s)
-- Generating done (0.1s)
-- Build files have been written to: /home/pegasus/Documents/eBPFShield/bcc/build
pegasus@pegasus:~/Documents/eBPFShield/bcc/build$ make
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[ 0%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend-objects.dir/loader.cc.o
/home/pegasus/Documents/eBPFShield/bcc/src/cc/frontends/clang/loader.cc:35:10: fatal error: clang/Basic/FileManager.h: No such file or directory
35 | #include <clang/Basic/FileManager.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/cc/frontends/clang/CMakeFiles/clang_frontend-objects.dir/build.make:76: src/cc/frontends/clang/CMakeFiles/clang_frontend-objects.dir/loader.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:995: src/cc/frontends/clang/CMakeFiles/clang_frontend-objects.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
While I try to build the bcc from source. I see the following errors.
How to fix this?
Here's specification of host:
My LLVM is also built from source. The binaries are here: