I call this 'feeding the machine'. There's the thing you want to do, the interesting, valuable, real-world problem you're trying to solve. But you're using a library, that has a dependency, that doesn't build on your machine, because of your version of the compiler, and the new version isn't in your package repository, so you have to download and build it, but your version of readline is wrong and so on and so on. You're feeding the machine constantly, when you feel that it's supposed to be working for you.
It sucks, but it doesn't end. Every once in a while you're be in a nice place where you're using familiar tools and libraries and doing familiar work, but every new project and technology brings potential new demands to feed the machine.
You can have a long, happy and prosperous career working with a single stack that someone has made work on your OS of choice, but if you don't enjoy feeding the machine, there is a ceiling on your flexibility and problem solving ability.