[Darshan-users] Darshan rpm packages

Carns, Philip H. carns at mcs.anl.gov
Tue Mar 3 07:32:06 CST 2020


Hi Chris!  Answers/comments inline below:

________________________________
From: Darshan-users <darshan-users-bounces at lists.mcs.anl.gov> on behalf of Christopher J. Morrone <morrone2 at llnl.gov>
Sent: Monday, March 2, 2020 4:07 PM
To: darshan-users at lists.mcs.anl.gov <darshan-users at lists.mcs.anl.gov>
Subject: [Darshan-users] Darshan rpm packages

Has anyone created rpm packages of Darshan?

We have not at ANL, though there may be others on the list who have.
Is anyone attached to the current way that Darshan implements DESTDIR?
The current approach does not quite approximate the way that automake
uses DESTDIR.

No, I don't think so.  We didn't realize that there was a bug in DESTDIR handling for the pkgconfig file until Matthew Curry reported it recently, actually:

https://xgitlab.cels.anl.gov/darshan/darshan/commit/68b06d4ab098f4070bd279fae8a0e62e71d71d6a

At any rate, we (I guess obviously) have not tested that much.
Is there any particular reason that Darshan avoids using automake?

If Darshan were created today, it would be an automake project for sure.   At the time when the first lines of code for it were written (probably around 2008), we didn't have enough expertise with automake to feel confident that we could generate the library the way we needed to.  Since then it's mainly been a momentum / development time thing; thus far it has been easier to incrementally add things to the make files than to convert the project.

automake allows a software package to be targeted for final install in
some root tree using "./configure --prefix=/usr/local".  DESTDIR on the
other hand is intended to allow a staged install to some temporary
location, which is a vital step in some packaging systems.

The standard automake DESTDIR usage is described here:

  https://www.gnu.org/software/automake/manual/html_node/DESTDIR.html

Darshan is resetting DESTDIR in its Makefile to an empty value, so it
breaks that standard automake usage.

Darshan is also setting variables like "libdir" to have the DESTDIR
prefix at the beginning of the Makefile.  That may or may not matter in
this case, but normally prepending DESTDIR is reserved for the "install"
make target rather than incorporating into all of the standard path
variables.  The issue is that setting it too early could result in the
temporary DESTDIR path appearing in compiled-in rpaths and the like.

I'll take a first pass at just relocating DESTDIR in the existing
Makefile.in files.

That would be great if you could contribute some fixes for us; it would be much appreciated.  This is a blind spot in our testing.

thanks,
-Phil

Chris
_______________________________________________
Darshan-users mailing list
Darshan-users at lists.mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/darshan-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-users/attachments/20200303/78f3d651/attachment-0001.html>


More information about the Darshan-users mailing list