I've had people try the env issue thing. I asked them to never try longer than 15 minutes to solve an env issue by themselves. Post on the public dev channel for help or ask me privately if they don't feel comfortable with it (it happens, that's OK). A lot of people just aren't good at troubleshooting env issues and I happen to be good at it even if I have never had that issue and I keep an eye on others posting and often can find a solution for people quickly. It's amazing how many people can't read error output, especially stack traces, and figure out which is the relevant message to search by.
Broken CI same thing really. And it's easy to compare if it's just them or everyone's builds are broken.
Complexity I offer help. Pairing for as long as needed. I've had a few guys where it became clear here that they really just weren't good. There are many signs here that you can collect and document. I've also done Re-implementations from scratch (not looking at their code) in some instances, proving their "hidden complexity" that took a week to not solve took me literally an hour to code down.
As the manager/lead I have an obligation to figure out if someone is just having temporary trouble or if they're simply a slacker by nature or just not good at their job. If that is the case it is my duty to get them out. They can slack off somewhere else and drag other people down, not me and my team.
Both for the company (I couldn't really care less in most cases, since the company doesn't care about us either) and for the rest of the team (I could never stand managers that let obviously bad/slacking people continue working alongside the rest of us that do their job properly and the slackers still get the same raises and potentially even negotiated a better salary, as they're probably good talkers, but bad walkers). I care for actual walk. I do not care for cheap talk but it's the most common.
Keeping your blocking issues silent for days is what the problem is, not that you habe issues.