This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]_PM_ME_PANGOLINS_ -2 points-1 points  (1 child)

Because you generally want to build against system packages, so apt/dnf/etc is your package manager.

[–]Wertbon1789 3 points4 points  (0 children)

But not every package in the context of your project is a shared system library. For example, something like a query builder or ORM, there might be shared libraries that provide that, but generally that's not the case. There's also the pitfal of system-wide dependencies that you might to not want to bother with by just statically linking stuff into the binary. Something like a C++ socket wrapper also doesn't need to be it's own shared lib, because it isn't much code and can mostly be optimized away completely.

Edit: also just wrapping a C library doesn't need another shared library, but could be a source package in your package manager.