|
Boost Interest : |
Subject: Re: [Boost-cmake] Configuration for sonames for the boost dynamic libraries on Unix
From: Sean Chittenden (sean_at_[hidden])
Date: 2009-10-29 16:14:16
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 <vladimir_at_[hidden]> 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_at_[hidden] > http://lists.boost.org/mailman/listinfo.cgi/boost-cmake >