Help. Need a Library Primer
Hi folks,
I've been using Linux more or less exclusively for about 4 years. In that time I've developed what I feel is, on the whole, a pretty solid level of user (as opposed to developer) knowledge. I can compile my own kernels, install stuff, write scripts and all that happy stuff. However, I am thoroughly embarrased by how little I understand about the whole subject of libraries, archives, linking, etc. At a basic level I think I understand the prinicipal of what a shared library is and why it's a good thing, but beyond that I am kind of clueless about how it all fits together and what commands like ld, ldconfig, ar, etc do and when one needs to use them.
For example, today I installed dosemu. When I tried to run it, it complained that it couldn't find libXxf86vm.so.1. Now, for kicks I looked around and I've found that there is a file libXxf86vm.a in /usr/X11/lib, but as expected no libXxf86vm.so.anything. I gather the .a file is an "archive" file, but I don't really understand what that is. Is it related to the .so file I am apparently missing? Can I somehow create the .so file from what I have already on my machine? If not, how would I go about figuring out where I have to go to get the right lib file?
I've looked around here and elsewhere for some kind of a primer on the whole library subject, but without any luck.
So, can one of you kind souls either give me a nickel-and-dime tour of the subject, or point me to a good reference where I can get a handle on it all?
Thanks in advance,
Dave
|