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
jsquy...@cisco.com