README
June 25, 2025 ยท View on GitHub
Build instructions:
- install cmake
- mkdir build
- cd build
- cmake ..
- make install
cmake Options: -DBUILD_SHARED_LIBS By default SHARED libraries are created and applications are linked to it. Use -DBUILD_SHARED_LIBS=OFF while invoking cmake to create STATIC libraries and link applications to it.
Ex. cmake -DBUILD_SHARED_LIBS=OFF ..
-DCMAKE_INSTALL_PREFIX Default is to install to /usr/local, use -DCMAKE_INSTALL_PREFIX= when invoking cmake to specify another install location.
-DCMAKE_INSTALL_LIBDIR Default is to install to lib or lib64, use -DCMAKE_INSTALL_LIBDIR= when invoking cmake to specify another install location.
You may need to update the libbpf git submodule:
git submodule update --init --recursive
Testing:
Tests are available in the tests subdirectory and should be run prior to submitting patches. Patches that add functionality should add to tests here also. Tests can be run by
-
running the scripts directly using a pre-existing vmlinux binary; i.e. cd tests ; vmlinux=/path/2/vmlinux ./tests (the vmlinux binary must contain DWARF to be converted to BTF)
-
running the tests via local scripts in .github/scripts; i.e. bash .github/scripts/build-pahole.sh;
bash .github/scripts/build-kernel.sh;
bash .github/scripts/run-selftests.sh -
via GitHub actions: push a branch to a GitHub repo; actions will be triggered for build and test matching the above steps. See the "Actions" tab in the github repo for info on job pass/fail and logs.