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=/usr/local/lib:$LD_LIBRARY_PATH

Q: hello_world.py fails with:
   ImportError: No module named bpf
A: checkout "sudo make install" output to find out bpf package installation site,
   add it to the PYTHONPATH env variable before running the program.
   sudo bash -c 'PYTHONPATH=/usr/lib/python2.7/site-packages python examples/hello_world.py'

Q: hello_world.py still fails with:
   bpf: Operation not permitted
   Exception: Failed to load BPF program hello
A: sudo

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.
