I am new to software development, and over the course of compiling about 20 programs and dependencies from source I have seen a rough pattern, but I don't quite get it. I'm hoping you could shed some light on it.
I am SSHing on a SLC6 machine and without root permissions, I have to install all the software dependencies and the most difficult part - to LINK them to the right place.
For instance: I need to install log4cpp. I download a tarball and unpack it
./autogen.sh (if there isn't this one, just continue to next) ./configure make
So It is installed in the folder itself along with the source code, just lying there dormant, until I can call it in the right way.
Then there is an other program which I need to install, and it requires me to specify the lib and include dirs for some dependencies
For SOME source compilations, the folder has a lib, bin and inc or include dir - Perfect! For some, the folder has just lib and inc dir. For some, the folder has just inc dir.
I have no problem when they all have a nice folder, easy to find. But I often run into problems, like with the log4cpp.
returns null (The lib dirs have .so files in it? or do they?)
So I have a problem, in this specific instance, that the library dir is missing and I cannot find it. But I want to know how to solve the problem every time, and also have some background information. However my googling skills seem to return nothing when searching for how library, include and bin environment variables work. I have also tried looking up the documentation for the program, but it seems that the questions I have:"Where is the lib dir, where is the include dir, where is the bin dir?" are so trivial, that they do not even need to communicate it.
- What is an include dir, what does it do, contain, how do I find it.
- What is a library dir, what does it do, contain, how do I find it - every time - useful commands perhaps.
- What is a binary dir, what does it do, contain, how do I find it.