Why? If anything, the fact that you can't is the real flaw
Why? If anything, the fact that you can't is the real flaw
- feature name changed, feature autodetection fails, package doesn't build anymore
- new version of the package requires a new Apple SDK which is not used by default in the system yet
- SDL gets updated which bumps the minimal required Apple SDK version. The package depending on SDL declares lower minimal SDK which fails at linking
- package requires a specific flag when building with latest GCC, but that flag doesn't exist for clang, so it fails the build
- new C++ standard adds std::bind which breaks unscoped calls to bind. Upstream didn't force an older standard, so build breaks on clang update.
- Makefile makes assumptions about HOME being writable during a build.
- build system assumes where the completion files will go
And those are still the trivial problems. Some of those are fixable upstream, some will be "don't care" for the author or the package is already abandoned. Some exist because the author doesn't have particular hardware to test on. It's on the distributions to make it work for you regardless.