Boost logo

Boost :

From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2007-07-23 11:16:31


Roger Leigh wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
>
>> Roger Leigh wrote:
>>
>>> This project, like many, utilises GNU Autoconf and Automake for its
>>> build system. I need to determine how to link with the Boost
>>> libraries in order to build the programs in the project. This is an
>>> issue for many projects which want to link with a Boost library.
>>>
>>>
>>> To illustrate my problem:
>>>
>>> ls -l /usr/lib/libboost_regex-*.so /usr/lib/libboost_program_options-*.so
>>> lrwxrwxrwx 1 root root 45 2007-07-08 11:48
>>> /usr/lib/libboost_program_options-gcc41-1_34.so ->
>>> libboost_program_options-gcc41-1_34.so.1.34.0 lrwxrwxrwx 1 root root 48
>>> 2007-07-08 11:48 /usr/lib/libboost_program_options-gcc41-mt-1_34.so ->
>>> libboost_program_options-gcc41-mt-1_34.so.1.34.0 lrwxrwxrwx 1 root root 41

>> This indicates a bug with Debian packages. All Linux packagers are supposed
>> to building Boost with the --layout=system option.

I don't remember saying that Linux packagers should use the
--layout=system option. For that matter, I prefer if everyone uses the
versioned layout as it produces non-colliding names.

>> Passing such option will
>> produce names like
>>
>> libboost_program_options-mt.so
>
> Is this documented anywhere? I couldn't find any mention of it.

Do you mean is --layout documented?

====
   --layout=<layout> Determines whether to choose library names
                           and header locations such that multiple
                           versions of Boost or multiple compilers can
                           be used on the same system.

                               versioned (default) - Names of boost
                               binaries include the Boost version
                               number and the name and version of the
                               compiler. Boost headers are installed
                               in a subdirectory of <HDRDIR> whose
                               name contains the Boost version
                               number.

                               system - Binaries names do not include
                               the Boost version number or the name
                               and version number of the compiler.
                               Boost headers are installed directly
                               into <HDRDIR>. This option is
                               intended for system integrators who
                               are building distribution packages.
====

And no, --layout=system will not remove the -mt tag. Also for
--layout=versioned, unversioned links are created which remove the Boost
version number tag, but not the compiler tag.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk