It depends on the distro, but in Debian and Devuan-based distros...by Anonymous (no login)
Suppose I'm missing part of libcaca, and I load the package manager and it says I have libcaca installed. Ok, I either need to find a package that says libcaca-dev or libcaca headers.
How do I know it is libcaca? When I compile, the compiler says what it's missing. What if the thing it's missing isn't the name of the library or package? It usually is, but for the non-obvious instances you can turn to a search engine to look up what package includes the file you need.
This is inefficient and unfriendly, a little, yes? I agree.
If there were a way to have different collections of packages, so you could make a new package that says "install ALL the dev packages and header packages I need for ALL these libraries..." That would be cool.
Debian and Devuan have this: they are called metapackages. Why aren't people using metapackages to create just that sort of thing? No reason that I know of. They certainly could.
You can also write all kinds of scripts to look for the libraries you have installed and automatically download and install relevant -dev or -headers packages. I have never needed this; I don't compile often.
There are options. They could be more userfriendly, but I image the argument goes something like: "if you can write in C or C++ you can probably find the headers you need." Too bad, it's not like it will make more people learn C++ if it's a pain to install. That said, people tend to find a way around this with practice. I'm still kind of a noob about this particular thing.
Return to Index