
Caleb Epstein wrote:
On Fri, 7 Jan 2005 01:01:07 +0100, Simon Barner <barner@gmx.de> wrote:
Caleb Epstein wrote:
On Thu, 6 Jan 2005 03:07:38 +0100, Simon Barner <barner@gmx.de> 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/policie...
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