Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Adding (3rd party?) MCA modules to the build system
From: Christian Bendele (Christian.Bendele_at_[hidden])
Date: 2009-11-03 04:14:16


Good Morning,

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).

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).

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".

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
the Makefule.am in the tcp subdir does contain a line practically
identical to the one failing above, I tried a recursive grep for
"OMPI_BUILD_btl_tcp_DSO" from the root build directory. This didn't
really turn up anything useful though (mainly lots of occurenced in
.cache files which i think i can ignore, and the one in Makefile.am).

Since i feel pretty stuck here after several hours of trying to grok
what's going on in this huge build system, i would very much appreciate
some hints :).

Thanks for your patience and your help,

Yours,

Christian.