forked from iovisor/bcc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
FAQ.txt
63 lines (54 loc) · 2.49 KB
/
FAQ.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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.