On 13 July 2012 17:34, Branko Čibej <br...@wandisco.com> wrote: > On 13.07.2012 17:21, Peter Samuelson wrote: >> [Branko Cibej] >>> Like I said in my response to this in the other thread -- API or even >>> ABI compatibility is not the issue. Working copy formats, wire >>> protocol quirks, etc. etc. are more "interesting". And I really don't >>> think it's up to us to tell packagers how to do their stuff. >> Well, the reason I bring it up is, if we expect everyone to bundle a >> copy of libsvn with every app, then our hard work to guarantee ABI >> stability is basically pointless. The whole reason to have a stable >> ABI is so people can upgrade libsvn without rebuilding or redownloading >> other apps. At some point we must have thought that was important. > > This does not happen on properly managed (U|Li)nux distributions. It > does happen on Windows, simply because there is no generally accepted > location for globally shared libraries. Or rather, while Windows does > provide mechanisms for component registration, they're a total pain in > the unmentionables to use and don't apply co common or garden shared libs. > > Which brings us back to my assertion that it's not our job to do what > packagers do best anyway. > > -- Brane > > -- > Certified & Supported Apache Subversion Downloads: > http://www.wandisco.com/subversion/download >
I believe the correct way to avoid dependency bundling on Windows is by using side-by-side assemblies (WinSxS) like the Microsoft C/C++ runtime re-distributables do. Almost no-one uses it or even knows it's there, however. Probably because it's a kind of black magic that no-one cares to learn about, the path of least resistance is to just bundle the DLL. It's also been my experience that DLL resolution using WinSxS can be a bit flakey -- especially on Windows XP -- leading to failures to dynamically load DLLs that link to DLLs that are in WinSxS. This tends to lead to misleading and difficult to debug bug reports for which I may need to book another appointment with my psychiatrist :-) Interestingly even Microsoft have now stopped using it for their C/C++ runtimes starting from the 2010 version: http://msdn.microsoft.com/en-us/library/dd293574.aspx -- Mat Booth Software Engineer WANdisco, Inc. http://www.wandisco.com