My question is very basic, as is my knowledge right now.
I'm a long-time Linux user, but have only recently taken a major interest in programming. I see that many popular applications in the Ubuntu repositories have -dev packages (e.g. pidgin-dev in addition to pidgin). My question is this:
What is in these packages? How does downloading pidgin-dev help one to develop for Pidgin? Is it as simple as a dependency check for the tools necessary to create the plugins for the given application?
I was hoping there would be a substantial amount of documentation in the -dev packages, but if there is, I can't figure out how to access it. I'm thinking of something like a man-page, but useful for editing code.
Any and all advice more than welcome!
A software package development process is a system for developing software packages. Packages make it easier to reuse and share code, e.g., via a software repository.
Packages. Most software applications designed for Linux or Unix systems are distributed as packages, which are archives that contain the pre-compiled binary software files, installation scripts, configuration files, dependency requirements, and other details about the software.
Dev Library as a platform showcases blog posts and open source tools with easy-to-use navigation for these product areas: Machine Learning, Flutter, Firebase, Angular, Cloud, and Android.
The *-dev
packages most often contain the headers related to a library's interface. Next most common are package-config files (*.pc
) describing build options and staticly linked libraries.
In general, if you want to know the contents of a package you have installed, dpkg -L pkgname
will get you that. The apt-file
program can tell you the same for any package in the repositories.
Note, also, that the answers by William Pursell and caf contain useful additional details. If you find their input helpful, do upvote it.
(disclaimer: I'm familiar with Debian but not Ubuntu, so although it is almost certain that everything I write below applies, there's is a chance it's not.)
One more item in the *-dev
package is the /usr/lib/lib*.so
link. The libfoo0
package will install the file /usr/lib/libfoo.so.0.0
, while libfoo-dev
installs the links /usr/lib/libfoo.so.0
and /usr/lib/libfoo.so
. This is the mechanism that allows you to have libfoo0
and libfoo1
installed simultaneously, so that software requiring the old library can co-exist on the box with software using the new library. When you install libfoo-dev
, any software that is compiled will follow the *.so
link and link against the version of the library referenced by that link.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With