Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Adding (3rd party?) MCA modules to the build system
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-11-03 16:16:59


On Nov 3, 2009, at 4:14 AM, Christian Bendele wrote:

> i am trying to compile some kind of 3rd party btl module into my
> openmpi. I got the 1.3.3 release tarball, and i can now successfully
> call autogen.sh, configure and build after downgrading autoconf and
> friends to the exact versions suggested on the hacking site (i had the
> most recent versions installed before, which would cause make to fail
> when autogen.sh was called before).
>

I believe the fixes for that (needing to downgrade) will be in 1.3.4,
if you care. :-)

The SVN development trunk definitely works with the most recent
autotools.

> The btl module directory I have here contains Makefile.am and
> Makefile.in whose contents look very similar to those in the mca/btl/
> tcp
> directory for example. Among other things the Makefile.am contains a
> automake "if OMPI_BUILD_mybtlmodule_DSO" (looks exactly the same in
> the
> tcp module directory).
>

Check out this wiki page for making new components in the OMPI tree:

    https://svn.open-mpi.org/trac/ompi/wiki/devel/CreateComponent

> Copying my module directory into ompi/mca/btl and running autogen.sh
> would just ignore it. I am absolutely lost in all this autoconf and
> automake build chaos (as it seems to me), but trying to analyse
> autogen.sh i figured (from the process_framework() function) that a
> mca
> subdir has to contain one of configure.in, configure.params and
> configure.ac to be recognized. I copied configure.params as it is from
> the tcp directory, as it seems fitting (containing just one single
> line:
> "PARAM_CONFIG_FILES="Makefile".
>

Correct. Hopefully the wiki pages explains this better than needing
to analyze autogen.sh...

> Now running autogen.sh does indeed recognize the directory
> containing my
> btl module. It fails, however, with the line
> "ompi/mca/btl/mybtlmodule/Makefile.am:40: OMPI_BUILD_btl_mymodule_DSO
> does not appear in AM_CONDITIONAL".
>
> I vaguely know what that means, and i was half expecting something
> like
> this, but I can not find where those AM_CONDITIONALs are defined.
> Since
>

You shouldn't need to define these -- autogen.sh should define all the
relevant AM_CONDITIONAL's.

Check that wiki page and see if it answers your questions. Ping back
here if not.

-- 
Jeff Squyres
jsquyres_at_[hidden]