This post will show you how to solve ‘BPF’ object has no attribute ‘get_syscall_fnname’ when run bpf program in linux ?
Problem
When you run a python bpf_program in linux, you run this command:
For example, if our bpf program’s name is example.py:
The example.py content is:
You get this error:
The error AttributeError: 'BPF' object has no attribute 'get_syscall_fnname' indicates that the BPF class from the bcc module does not have a method named get_syscall_fnname.
Environment
You check your os version by this command:
Python version:
Solution: Install the bcc dependencies
According to python bcc documents, you should install the libbcc and python bcc into system.
what is libbcc?
and what is python-bcc:
After all done, you can run the python bpf script again:
It works!
Final Words + More Resources
My intention with this article was to help others who might be considering solving such problem. So I hope that’s been the case here. If you still have any questions, don’t hesitate to ask me by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope: