Parsing poorly documented c spaghetti code is not a good vehicle to learn programming anyway though. The root issue here is the fact that interop between open source software and other oss, closed source software, and firmware is a headless beast where each user has to take on the project manager role.
Guessing you don’t run a couple docker containers to support local development;-)