On Thu, Nov 08, 2007 at 07:43:02PM +0600, Ildar Mulyukov wrote: > Изучение матчасти, как всегда, дало непревзойдённый результат. Привожу > выдержку с M$SN: > Versioning > > Each assembly has a 128-bit version number that is presented as a set > of four decimal pieces: Major.Minor.Build.Revision > For example, an assembly might have the version number 3.5.0.126. > By default, an assembly will only use types from the exact same > assembly (name and version number) that it was built and tested with. > That is, if you have an assembly that uses a type from version 1.0.0.2 > of another assembly, it will (by default) not use the same type from > version 1.0.0.4 of the other assembly. This use of both name and > version to identify referenced assemblies helps avoid the "DLL Hell" > problem of upgrades to one application breaking other applications. > > (http://msdn2.microsoft.com/en-us/library/ms973231.aspx) > > Что это означает: > 1. Значащие цифры для ABI - первые две (Major.Minor). Это - строгое > требование. > 2. /Желательно/ учитывать последние две при (динамической) линковке. > Это, боюсь, мы не потянем. И для OpenSource это не так уж важно. И > вообще к дистростроению это не относится. > 3. Различия между системными и несистемными библиотеками нет. > > Так что, очевидно, придётся снова (немного) править rpm-build-mono. > Мэйнтейнеру f-spot просьба не беспокоиться. Теперь посмотрите код mono, и объясните, так ли это в точности там реализовано.