I'm surprised the author forgot to consider platform architectures, because he has the most important aspects of a package manager down.
Unfortunately, it is still terribly easy to write non-portable code with C++. I think this is the main factor why we still don't have a widely used package manager for C++ but your mileage may vary.