Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] problems compiling openmpi-1.6 on some platforms
From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2012-06-07 13:27:36


Hello Jeff,

thank you very much for your help. You were right with your suggestion
that one of our system commands is responsible for the segmentation
fault. After splitting the command in config.status I found out that
gawk was responsible. We installed the latest version and now
everything works fine. Thank you very much once more.

> > ...
> > configure: creating ./config.status
> > config.status: creating Makefile
> > ./config.status: line 1197: 26418 Done(141) eval sed
> > \"\$ac_sed_extra\" "$ac_file_inputs"
> > 26419 Segmentation Fault (core dumped) | $AWK -f "$ac_tmp/subs.awk"
>
> > $ac_tmp/out
> > config.status: error: could not create Makefile
> > ...
>
> I'm looking through the tarball you sent now...
>
> Yow! This segv happens *3 times* during configure -- during the
> configuration of 3 separate sub-packages in Open MPI: ROMIO,
> VampirTrace, and libltdl. And all 3 failures were pretty much
> identical (the line numbers were different, but that was to be
> expected). The failures of the first 2 are not fatal (OMPI will
> just ignore the ROMIO and VT sub-packages), but we need libltdl,
> hence that failure is treated as fatal, and configure aborts.
>
> I *suspect* that if you configure with --disable-dlopen, then
> the ROMIO and VT sub-configures will still fail in the same way,
> but the libltdl stuff will be skipped and therefore not fail.
> BUT: I suspect that OMPI's final configuration step (i.e.,
> where it invokes the top-level config.status) will fail with the
> segv as well. Meaning: this looks like a systemic problem on
> your system with some shell command (awk, sed, eval, ...something).
>
> With that aside, let's look at exactly what is happening here.
>
> The segv is occurring in opal/libltdl/config.status. This is a
> script that's run right near the very end of the libltdl configure
> script (which is invoked from OMPI's top-level configure script).
> config.status normally does things like creating Makefile's from
> Makefile.in's, etc.
>
> It looks like you *should* be able to re-create the problem by:
>
> cd opal/libltdl
> ./config.status
>
> I.e., just invoke ./config.status it should segv just like it does
> when you run the top-level configure, ...etc.
>
> Anyhoo, I see the exact line in the config.status where it's
> failing -- line 1256:
>
> eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
> >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
>
> $ac_sed_extra is defined right above that, and it's a pretty lengthy
> sed command. I think what you want to do here is edit config.status
> and determine exactly which command is set faulting, and see if you
> can get a core file from it. For example, I'd probably split that
> line into multiple lines and see what's going on, maybe something
> like this (I just typed this in my mail client -- forgive typos):
>
> # Enable core dumps
> limit -c unlimited
> echo ac_sed_extra is: $ac_sed_extra
> echo ac_file_inputs is: $ac_file_inputs
> echo AWK is: $AWK
> echo ac_tmp is: $ac_tmp
> echo ac_file is: $ac_file
> echo contents of subs.awk:
> cat "$ac_tmp/subs.awk"
>
> echo ========= output from sed command
> sed \"\$ac_sed_extra\" "$ac_file_inputs"
>
> echo ========= eval'ed output from sed command
> eval sed \"\$ac_sed_extra\" "$ac_file_inputs"
>
> echo ========= piping to awk command
> eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk"
>
> ... or something like that.
>
> See where that takes you.

Kind regards

Siegmar