While creating .so files (aka shared objects aka dynamic libraries aka shared libraries) for a suite of appliaction software (with many different apps) on a CentOS4/RHEL4 platform, I've been reading up on .so-file creation:
http://www.tldp.org/HOWTO/Program-Li...libraries.html
http://wiki.linuxquestions.org/wiki/...ands_and_Files
http://www.mpi-sb.mpg.de/~hitoshi/ot...gcc-memo.shtml
While I can see power in the soname for versioning purposes, I wonder: why am I forced to use this .so.x.y.z naming and complexity? It's screwing things up big time when I got to copy libraries around for transport to other systems and/or to save the libraries in a CVS/Subversion repository (and checkout the lib files later). I'd rather just have one .so-file name, if I could, manage only one file, not mess with and ldconfig things or soft links, etc. Is there a way to do this? If not, is there a way to simplify this seemingly-hazy topic for the moment?
Additionally, can I force g++ to build an app that looks, at run time, *only* in the directories I specify for .so-file resolution? I ask as a security measure to keep crackers on my host systems from inserting rogue libraries in /usr/lib, etc.
Also: I haven't yet see --rpath or -Wl,rpath work for my g++ builds...but I still could be screwing something up.
Thanks for any help,
-Matt