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
> The btl module directory I have here contains Makefile.am and
> Makefile.in whose contents look very similar to those in the mca/btl/
> directory for example. Among other things the Makefile.am contains a
> automake "if OMPI_BUILD_mybtlmodule_DSO" (looks exactly the same in
> tcp module directory).
Check out this wiki page for making new components in the OMPI tree:
> 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
> 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
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
> this, but I can not find where those AM_CONDITIONALs are defined.
You shouldn't need to define these -- autogen.sh should define all the
Check that wiki page and see if it answers your questions. Ping back
here if not.