title: "libusb.h: No such file or directory" from gcc compiling Python module
body: <p>I'm getting this kind of error and I was unable to find the right answer on the internet.
  I tried to update the controller software of my NZXT Kraken water pump and it won't start now.</p>
  
  <p><a href="https://gitlab.com/leinardi/gkraken" rel="nofollow noreferrer">https://gitlab.com/leinardi/gkraken</a></p>
  
  <p>I would be really thankful for some guidance.</p>
  
  <p>Here is my full error:</p>
  
  <pre><code>  Running setup.py install for hidapi ... error
      ERROR: Complete output from command /usr/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-7z0im1kt/hidapi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ox5wudk7/install-record.txt --single-version-externally-managed --compile:
      ERROR: running install
      running build
      running build_ext
      cythoning hid.pyx to hid.c
      /usr/local/lib64/python3.7/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /tmp/pip-install-7z0im1kt/hidapi/hid.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      cythoning hidraw.pyx to hidraw.c
      /usr/local/lib64/python3.7/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /tmp/pip-install-7z0im1kt/hidapi/hidraw.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      building 'hid' extension
      creating build
      creating build/temp.linux-x86_64-3.7
      creating build/temp.linux-x86_64-3.7/hidapi
      creating build/temp.linux-x86_64-3.7/hidapi/libusb
      gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Ihidapi/hidapi -I/usr/include/libusb-1.0 -I/usr/include/python3.7m -c hid.c -o build/temp.linux-x86_64-3.7/hid.o
      gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Ihidapi/hidapi -I/usr/include/libusb-1.0 -I/usr/include/python3.7m -c hidapi/libusb/hid.c -o build/temp.linux-x86_64-3.7/hidapi/libusb/hid.o
      hidapi/libusb/hid.c:26: warning: "_GNU_SOURCE" redefined
         26 | #define _GNU_SOURCE /* needed for wcsdup() before glibc 2.10 */
            |
      &lt;command-line&gt;: note: this is the location of the previous definition
      hidapi/libusb/hid.c:47:10: fatal error: libusb.h: No such file or directory
         47 | #include &lt;libusb.h&gt;
            |          ^~~~~~~~~~
      compilation terminated.
      error: command 'gcc' failed with exit status 1
      ----------------------------------------
  ERROR: Command "/usr/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-7z0im1kt/hidapi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ox5wudk7/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-7z0im1kt/hidapi/ ```
  
  </code></pre>