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.
