Boost logo

Boost :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-01-08 11:06:53


Caleb Epstein wrote:
> On Fri, 7 Jan 2005 01:01:07 +0100, Simon Barner <barner_at_[hidden]> wrote:
>>Caleb Epstein wrote:
>>>On Thu, 6 Jan 2005 03:07:38 +0100, Simon Barner <barner_at_[hidden]> wrote:
>>
>>[...]
>>>>-SUFDLL ?= .so ;
>>>>+SUFDLL ?= .so.2 ;
>>[...]
>>
>>>As of Boost 1.32.0, the shared libraries are properly versioned (e.g.
>>>they have a proper SONAME attribute set and there is a
>>>libboost_XXX.so.1.32.0). Is this change necessary then?
>>
>>Probably still, yes, because as far as I understand FreeBSD's shared
>>library naming scheme is not compatible to your policy:
>
>>http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/policies-shlib.html
>
> The first words on that page are:
>
> "If you are adding shared library support to a port or other piece
> of software
> that *does not have one*"
>
> Emphasis mine. Boost has one, so why this patch?

I don't think Simon did it just for fun... I think this part of that
handbook is more telling...

        "That is, if you link with libfoo.so.3.3.3, the linker only records 3.3
in the headers, and will link with anything starting with
libfoo.so.3.(anything >= 3).(highest available)."

That means that if one links to *.so.1.31.0, the FreeBSD linker will try
and link to *.so.1.32.0 if available. Personally I'd say the linker is
broken in this respect, as it doesn't follow the historical
major.minor.patch where only patch revisions are compatible use. And
Boost is certainly not the only library follow this so I can only
imagine the havoc this causes all around.

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

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