ovis icon indicating copy to clipboard operation
ovis copied to clipboard

ovis v4 standard path namespace polution

Open morrone opened this issue 5 years ago • 5 comments

There are many files from ovis v4 that are installed during "make install" into standard path locations with names that either already would conflict with existing packages, have the potential to conflict, or are just named too generically for normal global installation.

I did a test "make install DESTDIR=/some/place" and looked at what gets installed. I think the following is a non-exhaustive list of ones that I am currently seeing that need renaming and/or relocating.

  • [ ] /usr/local/include/json/json_util.h
  • [ ] /usr/local/lib/libjson_util.*
  • [ ] /usr/local/lib/libcoll.*
  • [ ] /usr/local/lib/libmmalloc.*
  • [ ] /usr/local/include/mmalloc/mmalloc.h
  • [x] /usr/local/lib/librequest.*
  • [x] /usr/local/lib/libplugattr.*
  • [x] /usr/local/lib/libsampler_base.*
  • [x] /usr/local/lib/libparse_stat.*
  • [x] /usr/local/sbin/json_test
  • [x] /usr/local/bin/test_*
  • [x] /usr/local/bin/*-pedigree
  • [ ] /usr/local/bin/lsdate

NOTE: The checked boxes just mean that a pull request has been created to address that item, not that it has been landed.

morrone avatar Nov 06 '19 21:11 morrone

libplugattr and librequest both contain symbols that start with "ldmsd_". Perhaps we could just roll them into libldms? Or a new combined libldmsd? Or perhaps just rename them libldmsd_plugattr and libldmsd_request?

I'm happy to implement any of the approaches.

morrone avatar Nov 07 '19 02:11 morrone

For the *-pedigree scripts, I am going to suggest that we just remove them all together.

But if people really want that to stay, perhaps they can just be simple text files rather than scripts. We could put them in with the other docs.

morrone avatar Nov 07 '19 02:11 morrone

For the test_* binaries that come from ovis_util, perhaps those could simply change from being installed bin_PROGRAMS to being "make check" check_PROGRAMS?

morrone avatar Nov 07 '19 02:11 morrone

LDMS and it's implementation libldms.so is a generic service. LDMSD is a daemon that uses the LDMS service to communicate with other daemons. I don't think it's appropriate to stuff all of the daemon API into the generic service library.

Renaming the libraries is fine.

On Wed, Nov 6, 2019 at 7:13 PM Christopher J. Morrone < [email protected]> wrote:

libplugattr and librequest both contain symbols that start with "ldmsd_". Perhaps we could just roll them into libldms? Or a new combined libldmsd? Or perhaps just rename them libldmsd_plugattr and libldmsd_request?

I'm happy to implement any of the approaches.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ovis-hpc/ovis/issues/71?email_source=notifications&email_token=ABVTPXEDCKICLGPWT7VQUXDQSN2VVA5CNFSM4JJ6ANGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDIU6ZA#issuecomment-550588260, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVTPXCDANLUZ7O6Z3DLFZ3QSN2VVANCNFSM4JJ6ANGA .

-- Thomas Tucker, President, Open Grid Computing, Inc.

tom95858 avatar Nov 07 '19 12:11 tom95858

Does anyone have an opinion on what to do with libcoll and libmmalloc?

My initial impression is that they look like internal support libraries rather than something that should be installed. So my inclination is to move them from lib to ldms, and then make then noinst convenience libraries.

But if there is a strong reason to have then installed, then I suppose I could just rename them libldms_coll and liblmds_mmalloc (or libldmsd_*).

But I would lean towards making them noinst convenience libraries for now. The function names inside the libraries should probably have better naming to avoid namespace pollution if they are going to be installed. And if they are cleaned up for installation, then maybe we can pack a number of these helpers bits into one library instead of having many small libraries installed.

morrone avatar Nov 11 '19 21:11 morrone