I believe that those problems are the price of free development. When everybody can contribute anything, which is a good thing in itself, there is no streamlining or refining of the end product. There are soo many interfaces and standards which often are used in parallel that it's actually an achievement when a Linux system is still able to boot. Open Source is a good thing, but not in regards of user experience and stability. There is no guarantee for anything. When it works - it works. When it doesn't work - people will hopefully fix it, or at least contribute resources. When it doesn't work and nobody fixes it, what then? I wish I had the expertise so that I could fix everything myself if needed, but let's stay realistic. Nor have I resources to spare. I have to rely on others' efforts.
I've cross-compiled a Linux system from scratch for PowerPC once and it worked great. It worked up until I needed to recompile glibc because of some bugs threatening system security. Then everything went to hell. My prime interest in Linux and Open Source ceased to exist at this very moment. The dependency system in Linux is a nightmare, because basically there is none that guarantees consistency. How are cross- and circular dependencies even possible? And that's the price for freedom - chaos. It's great that anything works somehow. But there is no future to build upon.
I've cross-compiled a Linux system from scratch for PowerPC once and it worked great. It worked up until I needed to recompile glibc because of some bugs threatening system security. Then everything went to hell. My prime interest in Linux and Open Source ceased to exist at this very moment. The dependency system in Linux is a nightmare, because basically there is none that guarantees consistency. How are cross- and circular dependencies even possible? And that's the price for freedom - chaos. It's great that anything works somehow. But there is no future to build upon.