[Darshan-users] Trouble building 3.2.0

Jeffrey Layton laytonjb at gmail.com
Mon May 18 10:04:30 CDT 2020


On Fri, May 15, 2020 at 9:20 PM Snyder, Shane <ssnyder at mcs.anl.gov> wrote:

> Hi Jeff,
>
> Darshan's traditionally been MPI-based, so '--with-mpi' is assumed if you
> don't specify anything. We also tend to explicitly pass the compiler we
> want to use on the config line (i.e., CC=mpicc or CC=gcc), so I'm honestly
> not sure what Darshan tries to do if you aren't that explicit. I made a
> note to have a closer look at this to see what happens if you don't specify
> a compiler explicitly to see if we can be more clear about what we need.
>

Yes - I have been doing this. I explicitly set the compiler. I did try
configuration combinations that don't make much sense (CC=mpicc
--without-mpi or CC=gcc --with-mpi) but I was looking for any correlation
to the compilation issues (I was sure it was my fault).


> Generally speaking, if you want to use Darshan with MPI applications, just
> make sure you have the "CC=mpicc" in the config line. If you want to use
> Darshan with non-MPI applications, make sure you have "--without-mpi CC=gcc"
>

Always.


> To Phil's finding that this error is likely due to a combination of
> '--enable-mmap-logs' and '--without-mpi' -- that's not completely
> surprising as I don't think that's a combination of functionalities I
> intended to be used at the same time. I'll have to think a bit more to see
> if there's any use in supporting the use of both options at the same time.
> If so, I'll try to fix this up, otherwise I'll make it an explicit
> configure error. In the meantime, if you want to instrument non-MPI
> applications, just use the '--without-mpi' option.
>

Roger.

One small suggestion is to maybe put a little more explanation into the
docs _not_ to do what I did :)  More over, if you throw an error it would
be good to put some explanation in the message. Perhaps something like
"this is an unsupported configuration. Try this configuration instead:
XXXX", where you can base XXXX on the value of CC.

Thanks for the commentary and the help!

Jeff


> Thanks,
> --Shane
> ------------------------------
> *From:* Darshan-users <darshan-users-bounces at lists.mcs.anl.gov> on behalf
> of Carns, Philip H. <carns at mcs.anl.gov>
> *Sent:* Friday, May 15, 2020 8:28 AM
> *To:* Jeffrey Layton <laytonjb at gmail.com>; darshan-users at lists.mcs.anl.gov
> <darshan-users at lists.mcs.anl.gov>
> *Subject:* Re: [Darshan-users] Trouble building 3.2.0
>
> Thanks for the bug report Jeff.  I confirmed it on my laptop (different
> software environment) too.  t looks like the problem is with the
> combination of these two configure options:
>
> --enable-mmap-logs
> --without-mpi
>
> In principle that should be a valid config, I think.  We'll look into it.
>
> In the mean time, can run without the --enable-mmap-logs option?  I'm
> guessing the --without-mpi is the more important of the two for you.
>
> thanks,
> -Phil
> ------------------------------
> *From:* Darshan-users <darshan-users-bounces at lists.mcs.anl.gov> on behalf
> of Jeffrey Layton <laytonjb at gmail.com>
> *Sent:* Friday, May 15, 2020 7:52 AM
> *To:* darshan-users at lists.mcs.anl.gov <darshan-users at lists.mcs.anl.gov>
> *Subject:* [Darshan-users] Trouble building 3.2.0
>
> Good morning,
>
> I've been trying to build version 3.2.0 using the Ubuntu 18.04 gcc-7.5.0
> compiler set along with mpich 3.3.2. My configuration command is,
>
> ./configure --with-log-path=/darshan-logs --with-jobid-env=NONE CC=mpicc
> --enable-mmap-logs --enable-group-readable-logs --without-mpi
>
> The configure seems to run fine, but when I use "make", I get the
> following errors:
>
>
> $ make
> mpicc -DDARSHAN_CONFIG_H=\"darshan-runtime-config.h\" -I . -I. -I./../ -g
> -O2  -D_LARGEFILE64_SOURCE -shared -fpic -DPIC -DDARSHAN_PRELOAD -c
> lib/darshan-core.c -o lib/darshan-core.po
> lib/darshan-core.c: In function ‘darshan_init_mmap_log’:
> lib/darshan-core.c:781:5: warning: implicit declaration of function
> ‘PMPI_Bcast’ [-Wimplicit-function-declaration]
>      PMPI_Bcast(&logmod, 1, MPI_UINT64_T, 0, core->mpi_comm);
>      ^~~~~~~~~~
> lib/darshan-core.c:781:28: error: ‘MPI_UINT64_T’ undeclared (first use in
> this function); did you mean ‘__UINT64_C’?
>      PMPI_Bcast(&logmod, 1, MPI_UINT64_T, 0, core->mpi_comm);
>                             ^~~~~~~~~~~~
>                             __UINT64_C
> lib/darshan-core.c:781:28: note: each undeclared identifier is reported
> only once for each function it appears in
> lib/darshan-core.c:781:49: error: ‘struct darshan_core_runtime’ has no
> member named ‘mpi_comm’
>      PMPI_Bcast(&logmod, 1, MPI_UINT64_T, 0, core->mpi_comm);
>                                                  ^~
> Makefile:120: recipe for target 'lib/darshan-core.po' failed
> make: *** [lib/darshan-core.po] Error 1
>
>
> I've tried a few alternatives:
>
> - CC=gcc instead of CC=mpicc
> - not using the "--with-out-mpi" option and using CC=mpicc
> - Running "make clean" a few times
>
> I'm curious why, despite the "--without-mpi" option, it appears to
> want/need an MPI implementation (but I may be way off base here).
>
> Thanks!
>
> Jeff
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-users/attachments/20200518/6075b103/attachment.html>


More information about the Darshan-users mailing list