Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [devel-core] OMPI MCA components - track external libs versions
From: Ralph Castain (rhc_at_[hidden])
Date: 2014-04-14 17:56:29


Yeah, that is a bad practice that should be fixed :-(

I have no issue with the MCA param approach. As Jeff said, we have done similar things elsewhere, and the impact is limited solely to the places that need it.

On Apr 14, 2014, at 1:12 PM, Mike Dubman <miked_at_[hidden]> wrote:

> sorry, it is always 1:0:0 for all releases and not 0:0:0 as I mentioned.
> but still - it is always 1:0:0.
> agree that it is bad and ambiguous.
>
> The ofa claims that ABI does not change at all and verbs.h API/ABI is exactly as in spec for all toolkit generations.
> The non-spec experimental verbs infra availability can be tested with autotools macros.
>
>
> On Mon, Apr 14, 2014 at 10:43 PM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
> On Apr 14, 2014, at 3:27 PM, Mike Dubman <miked_at_[hidden]> wrote:
>
> > this was true if all external libraries were maintaining ABI compatibility indicator properly with libtool.
> > Let`s check your favorite, libibverbs :), the version is always 0.0.0 in libibverbs.so.0.0.0 so openib btl will not fail on link.
>
> ?
>
> -----
> ❯❯❯ ls -l /usr/lib/libibverbs*
> lrwxrwxrwx 1 root root 19 Dec 16 06:59 /usr/lib/libibverbs.so -> libibverbs.so.1.0.0*
> lrwxrwxrwx 1 root root 19 Dec 16 06:59 /usr/lib/libibverbs.so.1 -> libibverbs.so.1.0.0*
> -rwxr-xr-x 1 root root 52060 Dec 3 11:43 /usr/lib/libibverbs.so.1.0.0*
> -----
>
> As you can see, my libibverbs has shared library version 1.0.0, not 0.0.0.
>
> > The libibverbs can have experimental verbs included but libibverbs version still will be indicating the libtool version is "0:0:0".
>
> That's bad software release methodology. You should fix *that*.
>
> Shared libraries have version numbers for a reason. They should be used properly.
>
> > So, the only way for sysadmin/user to know if he has a right version of libibvers installed is to check verbs.getVersion() and see if it is matches to one which includes experimental verbs and then he will know that there is a problem.
> >
> > but for us, the most powerful case is the one that you described: compare ompi_info output on head and compute node and warn user if differ.
> >
> > Also, to provide an infrastructure to digitize release notes.
>
> Sure -- registering an MCA param like I described does all of these things without needing any new infrastructure in OMPI. You could put such version numbers in today.
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: http://www.open-mpi.org/community/lists/devel/2014/04/14520.php
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: http://www.open-mpi.org/community/lists/devel/2014/04/14523.php