Boost logo

Boost Users :

From: Steven Mackenzie (boost_at_[hidden])
Date: 2007-07-16 05:38:44


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 <boost-AT-aptile.co.uk> 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
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net