* Alexander Churanov (alexanderchura...@gmail.com) wrote: > Could somebody officially and explicitly tell me, how to assign shared > library versions for new boost ports? > > I see following possibilities: > > 1) Use boost release version as shared library version. > This is safe and recommended by boost.
Not official, but couple of thoughts, unfortunately I forgot to anser your previous message regarding .so versioning. As I understand, we now assume ABI breakage on every boost update, correct? In this case .so versioning scheme doesn't really matter, the important thing is to ensure SONAME recorded in .so files has version component. Currently, % objdump -x libboost_regex.so | grep SONAME SONAME libboost_regex.so Thus (example boost-dependent port qtiplot): % ldd /usr/local/bin/qtiplot | grep boost libboost_date_time.so => /usr/local/lib/libboost_date_time.so (0x287be000) If boost is updated, that'll point to NEW libboost_date_time.so, which may have ABI broken. However, if SONAME contains version, it will be like that: % objdump -x libboost_regex.so | grep SONAME SONAME libboost_regex.so.1.39 % ldd /usr/local/bin/qtiplot | grep boost libboost_date_time.so.1.39 => /usr/local/lib/libboost_date_time.so.1.39 (0x287be000) and when boost is upgraded, this will become % ldd /usr/local/bin/qtiplot | grep boost libboost_date_time.so.1.39 => /usr/local/lib/compat/pkg/libboost_date_time.so.1.39 (0x287be000) Thus, we ensure that the application does not pick up boost libraries of different version than it was build with. Aside for that, versioning scheme doesn't really matter. As I understand, that's .so.1.39 vs .so.139 vs .so.5 The difference is that with former you can't specify version in LIB_DEPENDS, i.e. LIB_DEPENDS=boost_date_time.139:${PORTSDIR}/devel/boost, which will make users update boost before building any dependent ports and theoretically catch cases where some port requires new boost version and breaks with the old one. However, that'll be catched in a most ugly way where new boost is built and this fails on installation because old boost is still installed. Also one will need to update version in boost-dependent ports along with portrevision bump. Currently, there are 30 vs 53 ports with unversioned/versioned depend. -- Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D amd...@amdmi3.ru ..: jabber: amd...@jabber.ru http://www.amdmi3.ru _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"