Building against `libusb`
Situation: given an existing small C program which was developed on Ubuntu 12.04 32-bit, build it on CentOS 7 64-bit with minimal, if any, modifications to the source. The C program depends upon libftdi and libusb, of which there are four “versions”.
libusb-0.1which supports only v0.1 of its API, and is obsolete.libusbxwhich supports only v1.0 of its API, and is obsolete.libusb-1.0which supports v1.0 of its API, and is actively maintained.libusb-compat-0.1which is a compatibility layer from v0.1 to v1.0 of thelibusbAPI.
CentOS 7 comes with libusbx out of the box. Running yum install libusb will download a package called libusb which is actually libusb-compat-0.1(!).