Thanks everyone for help and links. In migrating some (Boost Test) test code, and reading around, I've noticed that API changes are allowed between Boost library versions. In this case, if multiple releases of the Boost libaries are all going to be on the paths in /etc/ld.so.conf then the non-default libary library names need to be decorated at least with the release version. (At least, that is the simplest solution for me to understand and describe to a system admin when I hand over my software/source code). Is there a better option? The bjam --layout=system option states that it is intended for use by distributers (RedHat, Debian, et al), so personally for the software that I will write, I will require that the Boost libraries are installed from a distributers package, if I can use that Boost version without problem. In the case where I want to target a Boost version that is not the default shipped with my target plaform, then I will require installation of a specific version from source (via the traditional ./configure && make install), and I will specify my linker flags accordingly (that is, I will link to the decorated library names). I understand that my solution is too restrictive for someone like Roger who is willing to make the extra effort to allow his software accomodate the changing APIs of the libraries. Is a simple solution to Roger's problem to have the "./configure && make install" process create the symlinks to the short library names ONLY IF they don't already exist? Steven David Abrahams wrote:
on Sat Jul 14 2007, Steven Mackenzie
wrote: I've just built and installed the boost 1.34 libraries from source on a Centos 4.4 Linux intsall, along side the default 1.32 Boost version that comes with RedHat/CentOS 4.
The boost libraries have been installed in /usr/local/lib, but have very long and specific names, like libboost_program_options-gcc34-mt-1_34.so, and so to link against them I have to specify, for example, boost_program_options-gcc34-mt-1_34 instead of boost_program_options.
Is there any quick change that I can make to create the extra symlinks, or are the long names deliberate and sensible?
they're deliberate, and their sense, such as it is, is explained in http://boost.org/more/getting_started/unix-variants.html#library-naming