Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Memchecker: breaks trunk again
From: Rainer Keller (keller_at_[hidden])
Date: 2008-04-21 18:44:00


Hi Jeff and Ralph,
On Monday 21 April 2008 16:48, Jeff Squyres wrote:
> Ah, I see what's happening.
>
> The opal/mca/memchecker/valgrind/configure.m4 file is using "want
> memchecker" to indicate that you want valgrind support. I think that
> these should be two different issues. I'll file a ticket.

In opal/mca/memchecker/valgrind/configure.m4, we test
    if test "$WANT_MEMCHECKER" = "1" ; then
...
    else
        happy=0 # none_needed
        happy_value=0 # none_needed
        memchecker_valgrind_happy=0 # This should suffice to get rid of the
component
        should_build=2
        want_component=0
    fi

We have been looking into other syntaxes to deselect the component, but did
not find any.

Is there a better way within one plugin of a component to deselect it (or
rather say, that none of the components should be checked for?)

> Additionally, for the platform file overriding the configure command
> line; I *think* that that's expected behavior -- the platform file is
> a tradeoff and had to be implemented as an ugly hack because of the
> way autoconf parses command line flags (IIRC, the command line flags
> are parsed and *then* the platform file is parsed -- I don't think
> there was another way to do it). Perhaps that behavior should be
> documented.
What's the ticket#?

Sorry, if this is causing You trouble, Ralph.

CU,
Rainer

>
> On Apr 21, 2008, at 10:26 AM, Ralph H Castain wrote:
> > On 4/21/08 8:10 AM, "Jeff Squyres" <jsquyres_at_[hidden]> wrote:
> >> Hmm. I do not have this problem on OS X (where I do not have
> >> Valgrind
> >> installed) as of this morning's trunk. configure correctly
> >> determines
> >> that valgrind is not present and therefore continues on:
> >>
> >> --- MCA component memchecker:valgrind (m4 configuration macro)
> >> checking for MCA component memchecker:valgrind compile mode... static
> >> checking if MCA component memchecker:valgrind can compile... no
> >>
> >> ...etc.
> >>
> >> Note that your message indicates that configure thinks that valgrind
> >> support was explicitly requested. In this case, configure thinks,
> >> "you explicitly requested it, I cannot provide it, so I should abort
> >> rather than give unexpected results."
> >
> > I know that - but I am not explicitly requesting it. In fact, I
> > explicitly
> > put --without-valgrind, to no effect.
> >
> > Here is what I have discovered may be the source of the problem. I had
> > inserted a enable_memchecker=yes line in my platform file. This
> > apparently
> > has the unfortunate side effect of now requiring valgrind. IMHO,
> > this should
> > not be setup that way per my earlier comment about requiring debuggers
> > unless memchecker has absolutely no other way to run - which looking
> > at the
> > framework, would not appear to be true.
> >
> > I then tried still using my platform file, but adding --disable-
> > memchecker
> > to the configure line. The disable request was apparently ignored,
> > at least
> > as far as the valgrind part of the request is concerned. The build
> > failed at
> > the same point.
> >
> > Removing the enable_memchecker=yes line from my platform file allows
> > me to
> > successfully navigate configure.
> >
> > So it appears to be a combination of memchecker=yes automatically
> > requiring
> > valgrind, and the override on the configure line of a param set by a
> > platform file not working.
> >
> > I can send you some stuff off-list in a little bit, if you still
> > need it.
> >
> >> Can you send your full configure output and config.log?
> >>
> >> On Apr 21, 2008, at 9:51 AM, Ralph H Castain wrote:
> >>> As an FYI for anyone similarly afflicted:
> >>>
> >>> The only solution I have found is to gut the file
> >>> opal/mca/memchecker/valgrind/configure.m4:
> >>>
> >>> # MCA_memchecker_valgrind_CONFIG([action-if-found], [action-if-not-
> >>> found])
> >>> # -----------------------------------------------------------
> >>> AC_DEFUN([MCA_memchecker_valgrind_CONFIG],[
> >>>
> >>> happy=0 # none_needed
> >>> happy_value=0 # none_needed
> >>> memchecker_valgrind_happy=0 # This should suffice to get rid
> >>> of the
> >>> component
> >>> should_build=2
> >>> want_component=0
> >>> ])dnl
> >>>
> >>> Nothing else will allow you to build unless you have the valgrind
> >>> headers
> >>> installed on your machine.
> >>>
> >>> Ralph
> >>>
> >>> On 4/21/08 7:28 AM, "Ralph H Castain" <rhc_at_[hidden]> wrote:
> >>>> I am finding that the memchecker code is again breaking the trunk,
> >>>> specifically on any machine that does not have valgrind installed.
> >>>> Apparently, memchecker now forces a requirement for valgrind?
> >>>>
> >>>> Here is what I get:
> >>>>
> >>>> --- MCA component memchecker:valgrind (m4 configuration macro)
> >>>> checking for MCA component memchecker:valgrind compile mode...
> >>>> static
> >>>> checking checking for the valgrind include directory ... none
> >>>> needed
> >>>> checking valgrind/valgrind.h usability... no
> >>>> checking valgrind/valgrind.h presence... no
> >>>> checking for valgrind/valgrind.h... no
> >>>> configure: WARNING: *** Could not find valgrind header files, as
> >>>> valgrind
> >>>> support was requested
> >>>> configure: error: *** Cannot continue
> >>>>
> >>>>
> >>>> Could somebody please fix this? I thought we had decided many moons
> >>>> ago that
> >>>> we would not require specific debuggers in default build
> >>>> configurations - I
> >>>> am somewhat surprised, therefore, to find that memchecker is "on"
> >>>> by
> >>>> default, and now requires valgrind!
> >>>>
> >>>> I have tried --disable-memchecker, but nothing will allow me to get
> >>>> past
> >>>> this error.
> >>>>
> >>>> Thanks
> >>>> Ralph
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> devel mailing list
> >>>> devel_at_[hidden]
> >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >>>
> >>> _______________________________________________
> >>> devel mailing list
> >>> devel_at_[hidden]
> >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >
> > _______________________________________________
> > devel mailing list
> > devel_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
----------------------------------------------------------------
Dipl.-Inf. Rainer Keller   http://www.hlrs.de/people/keller
 HLRS                          Tel: ++49 (0)711-685 6 5858
 Nobelstrasse 19                  Fax: ++49 (0)711-685 6 5832
 70550 Stuttgart                    email: keller_at_[hidden]     
 Germany                             AIM/Skype:rusraink