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.
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.
continuation mark in column 6 is enough to split the lines, we do
the same continuation mark in column 73.
Now, while that would fit any msg., this would produce warnings when
including mpif-config.h with -Wall in gfortran and -warn in ifort.
Just get the SVN Version string short and forget it. Let's see
make check choke on that.
This additionally fixes the HG version string...
(Will mention this in ticket #2259)
This commit was SVN r22620.
* Fix typo in echo message
* Only traverse into orte/ and ompi/ if they exist (i.e., properly
handle --no-orte and --no-ompi tarballs). Note that this was only
a minor error -- before, they just output error messages and
(correctly) kept going. This fix just removes the error messages.
This commit was SVN r22353.
Continue the reorganization of the configure system. Move files from the main config directory to their appropriate level-specific config directories. Modify the configure system to correctly handle compiler detection, test, and setup so that all things pertaining to opal and orte are done at the lower level, with the ompi configure system only looking at mpi-specific options.
Ensure the wrapper compilers for orte and ompi only get built when appropriate. Add support for c++ to the orte wrapper compilers, both script and non-script versions.
This commit was SVN r22138.
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.
NOTE: the IPv6 support is currently marginally working and has problems when IPv6 headers are present but the interfaces are not configured to use that protocol, per several reports from users. It is unclear that anyone is willing/able to support this capability. Should that situation change, this change can be reconsidered.
This commit was SVN r22039.
* No need for OPAL_SIZEOF_BOOL and OPAL_SIZEOF_INT in comm_inln.h --
just use sizeof()
* Fix logic in ompi_setup_cxx.m4 to account for the case where we
''do'' have a C++ compiler (duh!!)
* Fix spelling error in a shell variable that ended up making a
bad/empty #define
This should bring the trunk back to being functional. Sorry for the
interruption, folks...
This commit was SVN r21758.
The following SVN revision numbers were found above:
r21755 --> open-mpi/ompi@90d6491737
C++ compiler in configure. If we have a C++ compiler, then the MPI
C++ bindings are built by default. If we don't have a C++ compiler,
then the MPI C++ bindings are not built by default.
--enable-mpi-cxx will now force an error if there is no C++ compiler
available. --disable-mpi-cxx (or the lack of a C++ compiler) will now
disable many of the C++ compiler checks in configure.
Note that there are a few items to clean up regarding the difference
between C's _Bool type and C++'s bool type. Right now, we assume that
they are the same. But they aren't, and they shouldn't be treated as
such. This cleanup will be forced in MPI-2.2 with the introduction of
the MPI_C_BOOL MPI datatype.
This commit was SVN r21755.
automatically pick up stdint.h by using AC_INCLUDES_DEFAULT. This is needed
for the types like int8_t which were added last week.
This commit was SVN r21721.
OMPI
and a language agnostic part in OPAL. The convertor is completely
moved into OPAL. This offers several benefits as described in RFC
http://www.open-mpi.org/community/lists/devel/2009/07/6387.php
namely:
- Fewer basic types (int* and float* types, boolean and wchar
- Fixing naming scheme to ompi-nomenclature.
- Usability outside of the ompi-layer.
- Due to the fixed nature of simple opal types, their information is
completely
known at compile time and therefore constified
- With fewer datatypes (22), the actual sizes of bit-field types may be
reduced
from 64 to 32 bits, allowing reorganizing the opal_datatype
structure, eliminating holes and keeping data required in convertor
(upon send/recv) in one cacheline...
This has implications to the convertor-datastructure and other parts
of the code.
- Several performance tests have been run, the netpipe latency does not
change with
this patch on Linux/x86-64 on the smoky cluster.
- Extensive tests have been done to verify correctness (no new
regressions) using:
1. mpi_test_suite on linux/x86-64 using clean ompi-trunk and
ompi-ddt:
a. running both trunk and ompi-ddt resulted in no differences
(except for MPI_SHORT_INT and MPI_TYPE_MIX_LB_UB do now run
correctly).
b. with --enable-memchecker and running under valgrind (one buglet
when run with static found in test-suite, commited)
2. ibm testsuite on linux/x86-64 using clean ompi-trunk and ompi-ddt:
all passed (except for the dynamic/ tests failed!! as trunk/MTT)
3. compilation and usage of HDF5 tests on Jaguar using PGI and
PathScale compilers.
4. compilation and usage on Scicortex.
- Please note, that for the heterogeneous case, (-m32 compiled
binaries/ompi), neither
ompi-trunk, nor ompi-ddt branch would successfully launch.
This commit was SVN r21641.
Tests based on preprocessor CPP output, won't help either, as they
don't spit out nice computed numerical values, but rather the
#define itselve.
This commit was SVN r21364.
produced object file does not contain external sumbols -- bad for the
configure tests to find out external symbols.
The only way to check for Fortran naming convention is to rid of
-ipo and -fast in case of ifort...
Thanks to Michel Devel for bringing this up.
This commit was SVN r21363.
Yes, friends, our favorite PCIE BTL has resurfaced as mgmt vacillates over its existence. This is an updated version that actually mostly works, in its final stages of debugging.
Some generalization still remains to be done...
This commit was SVN r21358.
not end up in OPAL
- Will post an updated patch for the OMPI_ALIGNMENT_ parts (within C).
This commit was SVN r21342.
The following SVN revision numbers were found above:
r21330 --> open-mpi/ompi@95596d1814
into the OPAL namespace, eliminating cases like opal/util/arch.c
testing for ompi_fortran_logical_t.
As this is processor- and compiler-related information
(e.g. does the compiler/architecture support REAL*16)
this should have been on the OPAL layer.
- Unifies f77 code using MPI_Flogical instead of opal_fortran_logical_t
- Tested locally (Linux/x86-64) with mpich and intel testsuite
but would like to get this week-ends MTT output
- PLEASE NOTE: configure-internal macro-names and
ompi_cv_ variables have not been changed, so that
external platform (not in contrib/) files still work.
This commit was SVN r21330.
well..)
- As Jeff suggested, for m4 macros, dont use _ OPAL, but
rather OPAL_ prefix
- Set the variable before AC_SUBST, so that replacement happens
in f77 header-file, too.
This commit was SVN r21316.
MPI_MAX_PROCESSOR_NAME
MPI_MAX_ERROR_STRING
MPI_MAX_OBJECT_NAME
MPI_MAX_INFO_KEY
MPI_MAX_INFO_VAL
MPI_MAX_PORT_NAME
MPI_MAX_DATAREP_STRING
Defaults stay as theyr currently are -- and now give an explanation on the
min/max values being used in a central place...
m4-macro _OPAL_WITH_OPTION_MIN_MAX_VALUE may be benefical in other parts
of the configure system.
- We need some of these in the lower level OPAL for an upcoming commit!
All other levels base their values on them.
This commit was SVN r21292.
Thereby move
--with-openib-control-hdr-padding from opal_configure_options.m4
to
--enable-openib-control-hdr-padding in ompi_check_openib.m4
This commit was SVN r21287.
has not been created yet by configure (happens only
when mpi.h and other .in-files are being created...)
Therefore mkdir -p it...
This commit was SVN r21278.
functionality (per MPI-2.1). This warning can be toggled using
--enable-mpi-interface-warning (default OFF), but can be
selectively turned on passing
mpicc -DOMPI_WANT_MPI_INTERFACE_WARNING
Using icc, gcc < 4.5, warnings (such as in mpi2basic_tests) show:
type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
(declared at /home/../usr/include/mpi.h:1379)
Using gcc-4.5 (gcc-svn) these show up as:
type_vector.c:83: warning: ‘MPI_Type_hvector’ is deprecated
(declared at /home/../usr/include/mpi.h:1379):
MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0
Jeff and I propose to turn such warnings on with Open MPI-1.7 by default.
- Detection of user-level compiler is handled using the preprocessor
checks of GASnet's other/portable_platform.h (thanks to Paul Hargrove
and Dan Bonachea) adapted into ompi/include/mpi_portable_platform.h
(see comments).
The OMPI-build time detection is output (Familyname and Version)
with ompi_info.
This functionality (actually any upcoming __attribute__) are turned
off, if a different compiler (and version) is being detected.
- Note, that any warnings regarding (user-compiler!=build-compiler)
as discussed in the RFC are _not_ included for now.
- Tested on Linux with --enable-mpi-interface-warning on
Linux, gcc-4.5 (deprecated w/ specific msg)
Linux, gcc-4.3 (deprecated w/o specific msg)
Linux, pathscale 3.1 (deprecated w/o specific msg)
Linux, icc-11.0 (deprecated w/o specific msg)
Linux, PGI-8.0.6 accepts __deprecated__ but does not issue a warning,
further investigation needed...
This commit was SVN r21262.
OMPI_* to OPAL_*. This allows opal layer to be used more independent
from the whole of ompi.
NOTE: 9 "svn mv" operations immediately follow this commit.
This commit was SVN r21180.
linker option when there is no visibility attribute support thus no visible
external variables. This is to get around a Sun Studio compiler version that
doesn't recognize the visibility attribute but recognizes the -xldscope option.
This commit was SVN r20902.
Add two new configure options that specify:
1. when to add padding to the openib control header - this *only* happens when the configure option is specified
2. when to use the dr-like checksum as opposed to the memcpy checksum. Not selectable at runtime - to eliminate performance impacts, this is a configure-only option
Also removed an unused checksum version from opal/util/crc.h.
The new component still needs a little cleanup and some sync with recent ob1 bug fixes. It was created as a separate module to avoid performance hits in ob1 itself, though most of the code is duplicative. The component is only selectable by either specifying it directly, or configuring with the dr-like checksum -and- setting -mca pml_csum_enable_checksum 1.
Modify the LANL platform files to take advantage of the new module.
This commit was SVN r20846.
This macro is a wrapper around OMPI_SETUP_PACKAGE, and provides common
functionality that I found myself doing in multiple components.
Someone may want to convince me that we should just wrap this all in
OMPI_SETUP_PACKAGE, but I did it first as a separate macro because so
many other places are already using OMPI_SETUP_PACKAGE and I didn't
want to update all of them.
This macro does the following:
* Assumes that this component should be built by default if all
headers and libraries can be found
* Adds --with-<name> and --with-<name>-libdir options to configure
* Sanity checks directory names given to the above options (i.e., look
for a token file in each, but only if the directory argument is
given)
* Assumes that if --with-<name> is supplied and we can't build the
component, it's a fatal error.
* Assumes that if --with-<name> is NOT supplied and we can't build the
component, it's NOT a fatal error.
* Run OMPI_CHECK_PACKAGE (check for the specific presence of header
files and/or libraries) to determine if the package is available
* Set <framework>_<component>_WRAPPER_EXTRA_LDFLAGS
* Set <framework>_<component>_WRAPPER_EXTRA_LIBS
* Set and AC_SUBST <framework>_<component>_CPPFLAGS
* Set and AC_SUBST <framework>_<component>_CFLAGS
* Set and AC_SUBST <framework>_<component>_LDFLAGS
* Set and AC_SUBST <framework>_<component>_LIBS
This commit was SVN r20746.
However, there is a bug in the config/ompi_check_pcie.m4 that I found this morning which causes those components to always attempt to build. This fixes it so the trunk will build again.
This commit was SVN r20737.
* Significantly improve the check to see if REAL*16 === the back-end
C type (i.e., not just in size, but also in representation)
* Add a check to see if Intel compiler's _Quad type === REAL*16
* Ensure that on the Sun SPARC with the Sun compilers, we get long
double === REAL*16
This commit was SVN r20513.
The following Trac tickets were found above:
Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
explicitly specified. This bug has escaped for a long time because
OMPI_CHECK_WITHDIR wasn't working properly until recently (r20289);
the fact that the wrong header file was specified was irrelevant
because OMPI_CHECK_WITHDIR was broken and the wrong header filename
was effectively ignored.
This commit was SVN r20301.
The following SVN revision numbers were found above:
r20289 --> open-mpi/ompi@ebaf6d5e61
versions of config.guess and config.sub right now due to some git
vulnerability. So make the script a bit more resilient to ensure that
what we get from ftp.gnu.org is actually runnable.
This commit was SVN r20300.
MCA m4 macro in configure.params (or, more likely, you copied the
configure.params file from another component and forgot to change the
m4 macro name in the file) instead of just aborting with a cryptic
message.
This commit was SVN r20181.
and components from the home directory for platforms that are bad at
reading in files from home directory at scale (like Red Storm)
This commit was SVN r20069.
If someone specifies a directory for a config option, then we should respect that designation and error out if the directory isn't found. Implemented first for the --with-openib options.
This commit was SVN r20045.
* 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.
* Add OMPI_F77_CHECK_REAL16_C_EQUV test whether REAL*16 is bit
equivalent to long double. AC_DEFINE OMPI_REAL16_MATCHES_C with
result (0 or 1).
* Update ompi_info to only show real16 support if
OMPI_REAL16_MATCHES_C is 1.
* Update DDT to only support REAL16 and COMPLEX32 if
1==OMPI_REAL16_MATCHES_C.
* MPI Op function pointer tabls will have NULL for the REAL16 and
COMPLEX32 entries if 0==OMPI_REAL16_MATCHES_C.
* Slightly cleaned up OMPI_F77_GET_ALIGNMENT and OMPI_F77_CHECK m4
tests (use OMPI_VAR_SCOPE_PUSH/POP).
This commit was SVN r19948.
The following Trac tickets were found above:
Ticket 1603 --> https://svn.open-mpi.org/trac/ompi/ticket/1603
<infiniband/driver.h> cannot be included because it will fail to
compile. So per advice from Roland, in that case, just put manually
include the one ibv_*() prototype that we need. Use an undocumented
feature of AC_CHECK_HEADERS to check for <infiniband/driver.h> that I
was told on the autoconf mailing list (see the comment for more
details).
This commit was SVN r19857.
svn merge -r 19823:19821 https://svn.open-mpi.org/svn/ompi/trunk ./
I copied the config directory in another location, and the original
.svn directory was replaced by the Open MPI one ... As a result my
first commit, applied the changes on the Open MPI trunk instead of
the other project.
This commit was SVN r19824.
(this was missed in #1585). Also, fix a long-standing problem that
the F90 wrapper compilers were using the F77 wrapper compiler flags.
This commit was SVN r19819.
compilers as well. Not doing this was causing problems with
MPI::ERRORS_THROW_EXCEPTIONS with gcc in 32 bit (but not 64 bit!).
* Ensure that the C and Fortran compilers actually like the C++
exceptions flags. If not, currently just abort. Let's see if
anyone complains about this -- I doubt they will because a) C++
exception support is not enabled by default, and b) I think C++
exceptions really only make sense within the same compiler family.
This commit was SVN r19783.