I don't understand -devel packages for libs

My understanding is that -devel packages are used to supply files for development. My confusion involves library packages. Let’s say you have a package called “libfoo”. Ostensibly, libfoo is a development package, what is in libfoo-devel?

Runtime apps use linked libraries (the .so files).

Some of the files in the -devel packages are different in that they seem to contain the header files and some source files for those libraries.

Compile time libraries (devel) such as libfoo-devel and run time libraries such as libfoo are often different.

Compiling requires the ability to use the headers and some of the source for those libraries while runtime only requires the .so file

2 Likes