To be fair, C predates dependency hell. It was either there or it wasn’t. C++ has less of an excuse, but it was just object oriented concepts taped to C so it’s no surprise it was also missing dependency management.
Now with cmake, gnu-make, meson, gradel, and the world of metabuild systems that wrap those, nothing will change. It it does, it might as well kick start world war 3.
Not sure about the Eco tank line, but the smart tank line botched the IPP interface. Ink level reporting is always wrong and printer status is regularly wrong. Exposed settings are limited to push people to the app.