Hi John, On Wed, 2005-07-20 at 19:31, John Plocher wrote:
> Without this ability to manage the evolution of shared components, > it becomes extremely difficult to reuse them, because asynchronous > development almost guarantees that a change to the shared component > will break a consumer, and that multiple consumers rarely depend on > the same version. > > The "solutions" that exist seem to > require control of the evolution of the shared components (Sun...), or > require control of the release process (gentoo...) > "rebuild the entire world", or > require control of the stack (blastwave...) > "duplicate as needed to ensure we have what we need" > worst case is redhat with multiple versions of every library. As far as I understand, the main problem with multiple versions (apart from the increased maintenance effort) is that different versions of the same lib may end up linked to the same executable (through dependent libs) and it'll cause unpredictable runtime linking and most likely a crash. It's a long shot, but would it be possible to enhance the linker/runtime linker to have some sort of namespacing that would enable it to work correctly with multiple versions? This way we could have 2 versions of those libraries where interface stability suffers: one kept stable (bugfixes and compatible changes only) for those who want their code to work forever and one closely tracking the latest community code for those who need the latest and greatest and don't mind rebuilding. Laca _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org