GitLab maintenance scheduled for Today, 2019-12-05, from 17:00 to 18:00 CT - Services will be unavailable during this time.

Commit 6a428596 authored by Philip Carns's avatar Philip Carns

Support MPICH installations with const-correct prototypes. Also bump

version number to 2.2.8-pre1.


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@738 3b7491f3-a168-0410-bf4b-c445ed680a29
parent 37780807
......@@ -2,6 +2,12 @@
Darshan Release Change Log
--------------------------
darshan-2.2.8-pre1
=============
* Fix compile-time errors for MPICH 3.x installations with const correct MPI
function prototypes. Also affects MPICH 1.5+ installations configured with
const support.
darshan-2.2.7
=============
* Updated Cray installation documentation for cleaner integration in Cray
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for darshan-runtime 2.2.7.
# Generated by GNU Autoconf 2.69 for darshan-runtime 2.2.8-pre1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='darshan-runtime'
PACKAGE_TARNAME='darshan-runtime'
PACKAGE_VERSION='2.2.7'
PACKAGE_STRING='darshan-runtime 2.2.7'
PACKAGE_VERSION='2.2.8-pre1'
PACKAGE_STRING='darshan-runtime 2.2.8-pre1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
......@@ -1243,7 +1243,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures darshan-runtime 2.2.7 to adapt to many kinds of systems.
\`configure' configures darshan-runtime 2.2.8-pre1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1304,7 +1304,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of darshan-runtime 2.2.7:";;
short | recursive ) echo "Configuration of darshan-runtime 2.2.8-pre1:";;
esac
cat <<\_ACEOF
......@@ -1408,7 +1408,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
darshan-runtime configure 2.2.7
darshan-runtime configure 2.2.8-pre1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1760,7 +1760,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by darshan-runtime $as_me 2.2.7, which was
It was created by darshan-runtime $as_me 2.2.8-pre1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -4056,6 +4056,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
esac
old_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for off64_t" >&5
......@@ -4170,6 +4171,66 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
# At some point MPI-IO converted most API functions to be const correct. We
# need to test for this to determine how to define MPI-IO wrappers in
# Darshan. First we try compiling without cost qualifiers.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI-IO prototypes without const qualifier" >&5
$as_echo_n "checking for MPI-IO prototypes without const qualifier... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <mpi.h>
int MPI_File_open(MPI_Comm comm, char *filename, int amode,
MPI_Info info, MPI_File *fh)
{return 0;}
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
# unable to compile without const qualifiers. Let's try again with
# const qualifiers.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI-IO prototypes with const qualifier" >&5
$as_echo_n "checking for MPI-IO prototypes with const qualifier... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <mpi.h>
int MPI_File_open(MPI_Comm comm, const char *filename, int amode,
MPI_Info info, MPI_File *fh)
{return 0;}
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
$as_echo "#define HAVE_MPIIO_CONST 1" >>confdefs.h
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# determine if mpicc can create shared libraries that use MPI functions
old_cflags="$CFLAGS"
CFLAGS="$CFLAGS -shared -fpic -DPIC"
......@@ -4227,7 +4288,7 @@ $as_echo "#define __D_MPI_REQUEST MPI_Request" >>confdefs.h
fi
DARSHAN_VERSION="2.2.7"
DARSHAN_VERSION="2.2.8-pre1"
......@@ -4745,7 +4806,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by darshan-runtime $as_me 2.2.7, which was
This file was extended by darshan-runtime $as_me 2.2.8-pre1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -4807,7 +4868,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
darshan-runtime config.status 2.2.7
darshan-runtime config.status 2.2.8-pre1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -5,7 +5,7 @@ dnl Process this file with autoconf to produce a configure script.
dnl You may need to use autoheader as well if changing any DEFINEs
dnl sanity checks, output header, location of scripts used here
AC_INIT([darshan-runtime], [2.2.7])
AC_INIT([darshan-runtime], [2.2.8-pre1])
AC_CONFIG_SRCDIR([darshan.h])
AC_CONFIG_AUX_DIR(../maint/config)
AC_CONFIG_HEADER(darshan-runtime-config.h)
......@@ -134,6 +134,7 @@ gt_INTTYPES_PRI
dnl Check byte ordering
AC_C_BIGENDIAN
dnl temporarily set large file flags just for this test; we don't want
dnl it to propagate to the makefile because of zlib bugs
old_cflags="$CFLAGS"
......@@ -204,6 +205,39 @@ AC_TRY_LINK([#include <mpi.h>], [
AC_MSG_ERROR(Darshan requires a version of MPI with MPI-IO support)
)
# At some point MPI-IO converted most API functions to be const correct. We
# need to test for this to determine how to define MPI-IO wrappers in
# Darshan. First we try compiling without cost qualifiers.
AC_MSG_CHECKING(for MPI-IO prototypes without const qualifier)
AC_TRY_COMPILE(
[
#include <mpi.h>
int MPI_File_open(MPI_Comm comm, char *filename, int amode,
MPI_Info info, MPI_File *fh)
{return 0;}
],
[],
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
# unable to compile without const qualifiers. Let's try again with
# const qualifiers.
AC_MSG_CHECKING(for MPI-IO prototypes with const qualifier)
AC_TRY_COMPILE(
[
#include <mpi.h>
int MPI_File_open(MPI_Comm comm, const char *filename, int amode,
MPI_Info info, MPI_File *fh)
{return 0;}
],
[],
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MPIIO_CONST, 1, Define if MPI-IO prototypes use const qualifier),
,
AC_MSG_ERROR(Darshan is unable to find a compatible MPI_File_open prototype)
)
)
# determine if mpicc can create shared libraries that use MPI functions
old_cflags="$CFLAGS"
CFLAGS="$CFLAGS -shared -fpic -DPIC"
......
......@@ -21,6 +21,9 @@
/* Define to 1 if you have the <mntent.h> header file. */
#undef HAVE_MNTENT_H
/* Define if MPI-IO prototypes use const qualifier */
#undef HAVE_MPIIO_CONST
/* Define if off64_t type is defined */
#undef HAVE_OFF64_T
......
......@@ -663,7 +663,11 @@ void darshan_shutdown(int timing_flag)
return;
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh)
#else
int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh)
#endif
{
int ret;
struct darshan_file_runtime* file;
......@@ -767,8 +771,13 @@ int MPI_File_sync(MPI_File fh)
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
MPI_Datatype filetype, const char *datarep, MPI_Info info)
#else
int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
MPI_Datatype filetype, char *datarep, MPI_Info info)
#endif
{
int ret;
struct darshan_file_runtime* file;
......@@ -983,8 +992,13 @@ int MPI_File_iread_shared(MPI_File fh, void * buf, int count,
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write(MPI_File fh, const void *buf, int count,
MPI_Datatype datatype, MPI_Status *status)
#else
int MPI_File_write(MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Status *status)
#endif
{
int ret;
double tm1, tm2;
......@@ -998,8 +1012,13 @@ int MPI_File_write(MPI_File fh, void *buf, int count,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf,
int count, MPI_Datatype datatype, MPI_Status *status)
#else
int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype, MPI_Status *status)
#endif
{
int ret;
double tm1, tm2;
......@@ -1014,8 +1033,13 @@ int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void * buf,
int count, MPI_Datatype datatype, MPI_Status * status)
#else
int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void * buf,
int count, MPI_Datatype datatype, MPI_Status * status)
#endif
{
int ret;
double tm1, tm2;
......@@ -1030,7 +1054,11 @@ int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void * buf,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_all(MPI_File fh, const void * buf, int count, MPI_Datatype datatype, MPI_Status *status)
#else
int MPI_File_write_all(MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status *status)
#endif
{
int ret;
double tm1, tm2;
......@@ -1045,7 +1073,11 @@ int MPI_File_write_all(MPI_File fh, void * buf, int count, MPI_Datatype datatype
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_shared(MPI_File fh, const void * buf, int count, MPI_Datatype datatype, MPI_Status *status)
#else
int MPI_File_write_shared(MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status *status)
#endif
{
int ret;
double tm1, tm2;
......@@ -1060,8 +1092,13 @@ int MPI_File_write_shared(MPI_File fh, void * buf, int count, MPI_Datatype datat
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_ordered(MPI_File fh, const void * buf, int count,
MPI_Datatype datatype, MPI_Status * status)
#else
int MPI_File_write_ordered(MPI_File fh, void * buf, int count,
MPI_Datatype datatype, MPI_Status * status)
#endif
{
int ret;
double tm1, tm2;
......@@ -1076,8 +1113,13 @@ int MPI_File_write_ordered(MPI_File fh, void * buf, int count,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void * buf,
int count, MPI_Datatype datatype)
#else
int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void * buf,
int count, MPI_Datatype datatype)
#endif
{
int ret;
double tm1, tm2;
......@@ -1092,7 +1134,11 @@ int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void * buf,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_all_begin(MPI_File fh, const void * buf, int count, MPI_Datatype datatype)
#else
int MPI_File_write_all_begin(MPI_File fh, void * buf, int count, MPI_Datatype datatype)
#endif
{
int ret;
double tm1, tm2;
......@@ -1106,7 +1152,11 @@ int MPI_File_write_all_begin(MPI_File fh, void * buf, int count, MPI_Datatype da
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_write_ordered_begin(MPI_File fh, const void * buf, int count, MPI_Datatype datatype)
#else
int MPI_File_write_ordered_begin(MPI_File fh, void * buf, int count, MPI_Datatype datatype)
#endif
{
int ret;
double tm1, tm2;
......@@ -1121,8 +1171,13 @@ int MPI_File_write_ordered_begin(MPI_File fh, void * buf, int count, MPI_Datatyp
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void * buf,
int count, MPI_Datatype datatype, __D_MPI_REQUEST *request)
#else
int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void * buf,
int count, MPI_Datatype datatype, __D_MPI_REQUEST *request)
#endif
{
int ret;
double tm1, tm2;
......@@ -1137,7 +1192,11 @@ int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void * buf,
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_iwrite(MPI_File fh, const void * buf, int count, MPI_Datatype datatype, __D_MPI_REQUEST * request)
#else
int MPI_File_iwrite(MPI_File fh, void * buf, int count, MPI_Datatype datatype, __D_MPI_REQUEST * request)
#endif
{
int ret;
double tm1, tm2;
......@@ -1151,8 +1210,13 @@ int MPI_File_iwrite(MPI_File fh, void * buf, int count, MPI_Datatype datatype, _
return(ret);
}
#ifdef HAVE_MPIIO_CONST
int MPI_File_iwrite_shared(MPI_File fh, const void * buf, int count,
MPI_Datatype datatype, __D_MPI_REQUEST * request)
#else
int MPI_File_iwrite_shared(MPI_File fh, void * buf, int count,
MPI_Datatype datatype, __D_MPI_REQUEST * request)
#endif
{
int ret;
double tm1, tm2;
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for darshan-util 2.2.7.
# Generated by GNU Autoconf 2.69 for darshan-util 2.2.8-pre1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='darshan-util'
PACKAGE_TARNAME='darshan-util'
PACKAGE_VERSION='2.2.7'
PACKAGE_STRING='darshan-util 2.2.7'
PACKAGE_VERSION='2.2.8-pre1'
PACKAGE_STRING='darshan-util 2.2.8-pre1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
......@@ -1232,7 +1232,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures darshan-util 2.2.7 to adapt to many kinds of systems.
\`configure' configures darshan-util 2.2.8-pre1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1293,7 +1293,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of darshan-util 2.2.7:";;
short | recursive ) echo "Configuration of darshan-util 2.2.8-pre1:";;
esac
cat <<\_ACEOF
......@@ -1383,7 +1383,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
darshan-util configure 2.2.7
darshan-util configure 2.2.8-pre1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1748,7 +1748,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by darshan-util $as_me 2.2.7, which was
It was created by darshan-util $as_me 2.2.8-pre1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -4605,7 +4605,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by darshan-util $as_me 2.2.7, which was
This file was extended by darshan-util $as_me 2.2.8-pre1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -4667,7 +4667,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
darshan-util config.status 2.2.7
darshan-util config.status 2.2.8-pre1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -5,7 +5,7 @@ dnl Process this file with autoconf to produce a configure script.
dnl You may need to use autoheader as well if changing any DEFINEs
dnl sanity checks, output header, location of scripts used here
AC_INIT([darshan-util], [2.2.7])
AC_INIT([darshan-util], [2.2.8-pre1])
AC_CONFIG_SRCDIR([darshan-logutils.h])
AC_CONFIG_AUX_DIR(../maint/config)
AC_CONFIG_HEADER(darshan-util-config.h)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment