Right now there's no version info on the .so's. Going forward with .so version info that's unique, it won't. :) -sc

--
Sean Chittenden


On Oct 29, 2009, at 12:51 PM, Vladimir Prus <vladi...@codesourcery.com> wrote:

Sean Chittenden wrote:

/usr
 local
   lib
     boost-1.40.0
     boost-1.41.0
     boost -> boost-1.41.0

Lazy developers will use boost and not boost-1.40.0 and suddenly
things will break in strange, hard to figure out ways.

Could you clarify what will break?

The usual suspects for dynamic linker issues.

It's not the end of the world when it happens because it can be easily
pinned on the user/sysadmin as to why things broke, but this scenario
strikes me as reasonably common or probable enough:

1) Install 1.40 with libboost_foo.so
2) Install 1.41 with libboost_foo.so
3) Remove boost-1.40
4) Update library path to include boost-1.41
5) Run program linked against 1.40.  ldd finds libboost_foo.so.1 in
boost 1.41 with a different API, or worse, a different ABI.

I don't see how what would happen. ldd will look for libboost_foo.so. 1.40.0,
and will not find it. Ah, you imply that the directories above contain
identically named .so files, and those .so have the sane soname. Well,
that's indeed bad idea, regardless of any symlinks.

- Volodya


_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake

_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake

Reply via email to