| Q: while running 'make test' I'm seeing: |
| 'ImportError: No module named pyroute2' |
| A: Install pyroute2: |
| git clone https://github.com/svinota/pyroute2.git |
| cd pyroute2; sudo make install |
| |
| Q: hello_world.py fails with: |
| OSError: libbcc.so: cannot open shared object file: No such file or directory |
| A: make sure to 'make install' and add the directory |
| where libbcc.so was installed into your LD_LIBRARY_PATH |
| export LD_LIBRARY_PATH=$(dirname `find /usr -name libbcc.so`):$LD_LIBRARY_PATH |
| |
| Q: hello_world.py fails with: |
| ImportError: No module named bcc |
| A: checkout "sudo make install" output to find out bpf package installation site, |
| add it to the PYTHONPATH env variable before running the program. |
| export PYTHONPATH=$(dirname `find /usr/lib -name bcc`):$PYTHONPATH |
| |
| Q: hello_world.py still fails with: |
| bpf: Operation not permitted |
| Exception: Failed to load BPF program hello |
| A: sudo |
| |
| Q: hello_world.py fails with |
| bpf: Failed to load program: Operation not permitted |
| despite running as root, and strace shows each `bpf()` system call failing with an EPERM. |
| A: The so-called Kernel lockdown might be the root cause. Try disabling it with the so-called |
| sysrq mechanism: |
| echo 1 > /proc/sys/kernel/sysrq |
| echo x > /proc/sysrq-trigger |
| Also see https://github.com/iovisor/bcc/issues/2525 |
| |
| If you have Secure Boot enabled you need to press Alt-PrintScr-x on the keyboard instead: |
| ``` |
| This sysrq operation is disabled from userspace. |
| sysrq: Disabling Secure Boot restrictions |
| Lifting lockdown |
| ``` |
| |
| Q: How do I fulfill the Linux kernel version requirement? |
| A: You need to obtain a recent version of the Linux source code |
| (please look at the README for the exact version), enable the |
| configuration options listed in the README file, install the image, |
| modules and headers, update your bootloader and reboot into the new |
| kernel. |
| |
| If you want to compile your own kernel, you can fetch the sources |
| from kernel.org or through your Linux distribution. |
| To install, you need all of the following: |
| make install |
| make modules_install |
| make headers_install INSTALL_HDR_PATH=/usr/local/ |
| |
| Q: hello_world.py fails with: |
| ImportError: No module named past.builtins |
| A: sudo pip install future |
| |
| Q: Running one of the bcc tools produces an import error: |
| Traceback (most recent call last): |
| File "./execsnoop", line 20, in <module> |
| from bcc import BPF |
| ImportError: No module named bcc |
| A: Make sure the python bcc bindings package (python2-bcc) is installed. |