This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change.
Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation.
This commit was SVN r23764.
MPI_INIT and start of MPI_FINALIZE.
* Clean up MPI Extensions build system to acknowledge that OMPI's the only
project with extensions, as well as remove some build artifacts necessary
for more general components.
This commit was SVN r23616.
http://www.open-mpi.org/community/lists/devel/2010/02/7496.php
Increase the required versions of AM, AC, and LT:
* Autoconf: 2.65
* Automake: 1.11.1
* Libtool: 2.2.6b
And therefore removed a bunch of patches that we used to apply to make
older versions of these tools work.
Also updated the HACKING document to match these version numbers,
specifically mentioned Mercurial in a few places, and removed some
outdated language about running autogen.sh in subdirectories.
This commit was SVN r22896.
{{{
grep: configure: No such file or directory
./autogen.sh: line 495: config/libltdl-preopen-error.patch: No such file or directory
}}}
This commit was SVN r22823.
error if the file-based dloader (e.g., dlopen) fails to load a DSO for
a complex reason (e.g., unresolved symbol).
This has been widely reported upstream to the libltdl maintainers - a
general solution is difficult. This is very definitely an
OMPI-specific solution. Since our embedded libltdl is hidden behind
visibility flags, that's ok.
Note that this is a change to autogen.sh, but this commit does not
force re-running autogen.sh. You'll just get the new functionality
the next time you re-run autogen.sh.
This commit was SVN r22806.
libtool.m4's are not newer than aclocal.m4. They "usually weren't",
but if you had a slow filesystem, it could be possible that libtool.m4
would be newer than aclocal.m4, and Bad Things would happen during
"make" (i.e., running configure again).
This commit was SVN r22715.
issues with #2114 -- PGI v10.x should work fine now (even with the
"gfortran" executable name).
Fixes trac:2114.
This commit was SVN r22274.
The following SVN revision numbers were found above:
r22273 --> open-mpi/ompi@2e2a07e5eb
The following Trac tickets were found above:
Ticket 2114 --> https://svn.open-mpi.org/trac/ompi/ticket/2114
compiler.
Note that using the name "pgfortran" does not work -- you must still
use the names pgf77 and pgf90. LT has not yet been fully patched to
support the name "pgfortran". I advised PGI to take this issue up
with the Libtool guys.
There's still something wrong with the C++ support, however; I get
errors about a template directory switch when compiling the C++ MPI
bindings (doesn't happen with PGI 9.0). Still working on this... it
feels like it's still a Libtool issue because OMPI is not putting in
this compiler flag as far as I can tell:
{{{
/bin/sh ../../../libtool --tag=CXX --mode=link pgCC -g -version-info 0:0:0 -export-dynamic -o libmpi_cxx.la -rpath /home/jsquyres/bogus/lib mpicxx.lo intercepts.lo comm.lo datatype.lo win.lo file.lo ../../../ompi/libmpi.la -lnsl -lutil -lpthread
libtool: link: tpldir=Template.dir
libtool: link: rm -rf Template.dir
libtool: link: pgCC --prelink_objects --instantiation_dir Template.dir .libs/mpicxx.o .libs/intercepts.o .libs/comm.o .libs/datatype.o .libs/win.o .libs/file.o -Wl,--rpath -Wl,/users/jsquyres/svn/ompi-1.3/ompi/.libs -Wl,--rpath -Wl,/users/jsquyres/svn/ompi-1.3/orte/.libs -Wl,--rpath -Wl,/users/jsquyres/svn/ompi-1.3/opal/.libs -Wl,--rpath -Wl,/home/jsquyres/bogus/lib -L/users/jsquyres/svn/ompi-1.3/orte/.libs -L/users/jsquyres/svn/ompi-1.3/opal/.libs ../../../ompi/.libs/libmpi.so /users/jsquyres/svn/ompi-1.3/orte/.libs/libopen-rte.so /users/jsquyres/svn/ompi-1.3/opal/.libs/libopen-pal.so -ldl -lnsl -lutil -lpthread
pgCC-Error-Unknown switch: --instantiation_dir
make: *** [libmpi_cxx.la] Error 1
}}}
Refs trac:2114.
This commit was SVN r22273.
The following Trac tickets were found above:
Ticket 2114 --> https://svn.open-mpi.org/trac/ompi/ticket/2114
Re-enable "./autogen.sh -no-ompi" again. If you -no-ompi, the entire OMPI
configury is skipped and the entire ompi/ subtree is not built. There's
some simple m4-isms that prune out the relevant parts.
I added ompi/config/, orte/config/, and opal/config/ directories. I moved a
bunch of m4 files from the top-level config/ dir into ompi/config/, and a few
into orte/config/.
Note that all 3 <project>/config directories have a config_files.m4 file. This
file contains the AC_CONFIG_FILES list for that project. The AC_CONFIG_FILES
call cannot be in an AC_DEFUN macro and conditionally called -- if it is
included at all, Autoconf will process it. Hence, these config_files.m4 files
don't AC_DEFUN -- they just have AC_CONFIG_FILES. m4_ifdef() is used to
conditionally include the files or not.
I moved a bunch of obvious OMPI-only m4 files from config/ to ompi/config/,
but I'm sure that there's more that could go. A ticket will be filed with
thoughts on future work in this area.
This commit was SVN r22113.
* Use the (undocumented) `solaris_use_stlport4` libtool variable to
turn off any Cstd/stlport4 linkage. This allows Open MPI to be C++
STL agnostic.
* Patch `config/libtool.m4` in autogen.sh for a bug in Libtool's
detection of the Sun Studio Fortran compiler. See the below e-mail
thread for more details:
http://www.open-mpi.org/community/lists/devel/2008/11/4920.php
This commit was SVN r20036.
* Ensure that various aliases and color settings don't muck up some
common shell commands that we use in autogen.sh
* Per Ralf W's suggestion, properly []-ize the first argument to
m4_define()
This commit was SVN r18690.
time, 27 May 2008 -- not web archived as of this commit), do the
following:
* move libtoolize earlier in the process
* remove most of acinclude.m4; instead, use "aclocal -I config" at
the top-level to have it automatically pull in any relevant .m4
file
* add patch for ifort shared library support for LT 2.2.4
(http://lists.gnu.org/archive/html/bug-libtool/2008-05/msg00049.html);
will likely be unnecessary in future LT versions
This commit was SVN r18515.
to *not* use the STL as well as removing the STL use from the error handler
routines. This was removing the STL from the C++ bindings (Solaris has 2
versions of the STL; if OMPI uses one and an MPI application wants to use
another, Bad Things happen).
The main idea is to wrap up the C++ callback function pointers and the user's
extra_state into our own struct that is passed as the extra_state to the C
keyval registration along with the intercept routines in intercepts.cc. When the
C++ intercepts are activated, they unwrap the user's callback and extra state
and call them.
This commit was SVN r17409.
Minor change to ompi_mca.m4 to move AC_CONFIG_FILES(framework/makefile) in autogen process (instead of configure process), where we still now the actual framework path (instead of guessing using $project/mca/$framework).
This have shown no side effects in our testing. Let us know if this breaks one of your components in some exotic context.
This commit was SVN r16146.
* Require Autoconf 2.60 or higher and remove some cruft
required for AC 2.59 or the AC 2.59 / AC 2.60 mix
* Remove a bunch of now unnecessary AC_SUBST calls
* Use the libtool-provided variables for the -I and
library to use when compiling against ltdl
Fixes trac:1000
This commit was SVN r14652.
The following Trac tickets were found above:
Ticket 1000 --> https://svn.open-mpi.org/trac/ompi/ticket/1000
* If we're using AM 1.10, there's a crazy bug with libltdl if it was
bootstrapped with AM 1.9.x where it will fail horribly during
'make dist'. So rebootstrap with AM 1.10 so that it all works out.
* Since we have the information, only apply the patch for libtool that
matches the version we're actually using
* Clean up some of the output just a little bit
This commit was SVN r14635.
next time you run autogen.sh, some *.orig files that are created when
autogen.sh patches libtool will be removed (so that "svn st" doesn't
report them).
This commit was SVN r14606.
Thank God for google-able mailing list archives:
http://www.mail-archive.com/bug-libtool@gnu.org/msg00899.html
We ran into this exact bug in Libtool that was causing the C++
bindings library to be compiled incorrectly (therefore causing static
initializers to not fire properly when in a shared library, which is
the default installation configuration). Putting in some libtool
patches to fix the problem -- will be mailing the Libtool crowd
shortly to ask for a better fix...
This commit was SVN r14454.
The following Trac tickets were found above:
Ticket 982 --> https://svn.open-mpi.org/trac/ompi/ticket/982
private scope. Solves the problem of Red Hat-provided OFED not
working properly because the libibverbs plugins are not linked
against libibverbs.
This commit was SVN r13926.
for version numbers before getting to this point and in the last year there
has not been a single case of this error being emitted and that being the
cause. In fact, there's a bug about this error message being confusing. So
just say an error occurred and point them for where to look (which is the
output of the tool that just failed).
Fixes trac:743
This commit was SVN r13128.
The following Trac tickets were found above:
Ticket 743 --> https://svn.open-mpi.org/trac/ompi/ticket/743
AC_CONFIG_AUX_DIR that confused autogen.sh and caused it to find the
wrong aux dir (and therefore to not remove stale auto tools files).
This commit was SVN r11597.
- move files out of toplevel include/ and etc/, moving it into the
sub-projects
- rather than including config headers with <project>/include,
have them as <project>
- require all headers to be included with a project prefix, with
the exception of the config headers ({opal,orte,ompi}_config.h
mpi.h, and mpif.h)
This commit was SVN r8985.