<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 16 February 2015 at 15:12, Kevin Kofler <span dir="ltr">&lt;<a href="mailto:kevin.kofler@chello.at" target="_blank">kevin.kofler@chello.at</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">Christopher Meng wrote:<br>
&gt; Maintaining several version of the same library is not easy as you think,<br>
&gt; basically once a developer wants to install version X while then another<br>
&gt; people want to deploy things based on version Y, how to crack this nut?<br>
&gt; You can&#39;t just care about runtime.<br>
<br>
</span>Then you need to patch one or the other package to work with the same<br>
version. Only if that is not possible, a compatibility library can be<br>
considered. But we should always first try to make everything work with the<br>
same version (if possible, the newer one).<br><br></blockquote><div><br></div><div>The requirement to work with multiple versions of a package come up in the scientific/HPC community very frequently. Its not always about API compatibility, sometimes exact numerical reproduction is required which isn&#39;t preserved even between minor versions (i.e. an OS update). These environments usually (increasingly often) use the environment-modules package (ideally with relocatable packages) to select between libraries or incompatible subsystems. This is more often done by admins than explicit support from the OS packagers, but it *can* be done elegantly as part of the packaging process if there is a will.</div><div><br></div><div>Fedora already uses this - admittedly in rather limited ways;</div><div><br></div><div><div># rpm -qf  /etc/modulefiles/mpi/mpich-x86_64</div><div>mpich-3.1-4.fc21.x86_64</div><div># rpm -qf  /etc/modulefiles/mpi/openmpi-x86_64</div><div>openmpi-1.8.3-2.fc21.x86_64</div></div><div><br></div><div>Much more comprehensive environments can be built from the methodology.</div><div><br></div><div>Cheers, Martyn</div><div><br></div><div> </div></div></div></div>