From bc61e496a3d0d9710c8a1450ea7e987af4fd5229 Mon Sep 17 00:00:00 2001 From: carns Date: Wed, 13 Feb 2013 16:42:25 +0000 Subject: [PATCH] Bug fix to cray linking of non-mpi programs. When Darshan is enabled we usually specify MPI_Wtime as an unresolved symbol in the linker options to ensure that linker correctly pulls in MPI symbols needed by Darshan. This doesn't appear to be sufficient when linking binaries compiled with the Cray compiler, however. Added MPI_Init to the symbols list to resolve. git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@650 3b7491f3-a168-0410-bf4b-c445ed680a29 --- ChangeLog | 2 ++ darshan-runtime/configure | 22 +++++++++++----------- darshan-runtime/configure.in | 4 ++-- darshan-util/configure | 18 +++++++++--------- darshan-util/configure.in | 2 +- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3118ddf..78e5383 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,8 @@ darshan-2.2.5-pre2 file system regardless of their location. * Update documentation to no longer recommend --enable-stat-at-open option on any systems +* Fix unresolved symbols error when linking non-MPI programs with Cray + compiler. Reported by Yushu Yao. darshan-2.2.4 ============= diff --git a/darshan-runtime/configure b/darshan-runtime/configure index 58f03bf..818306f 100755 --- a/darshan-runtime/configure +++ b/darshan-runtime/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for darshan-runtime 2.2.5-pre1. +# Generated by GNU Autoconf 2.69 for darshan-runtime 2.2.5-pre2. # # # 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.5-pre1' -PACKAGE_STRING='darshan-runtime 2.2.5-pre1' +PACKAGE_VERSION='2.2.5-pre2' +PACKAGE_STRING='darshan-runtime 2.2.5-pre2' 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.5-pre1 to adapt to many kinds of systems. +\`configure' configures darshan-runtime 2.2.5-pre2 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.5-pre1:";; + short | recursive ) echo "Configuration of darshan-runtime 2.2.5-pre2:";; 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.5-pre1 +darshan-runtime configure 2.2.5-pre2 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.5-pre1, which was +It was created by darshan-runtime $as_me 2.2.5-pre2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4120,7 +4120,7 @@ done # libc functions wrapped by darshan -CP_WRAPPERS="-Wl,-u,MPI_Wtime,-wrap,write,-wrap,open,-wrap,creat,-wrap,creat64,-wrap,open64,-wrap,close,-wrap,read,-wrap,lseek,-wrap,lseek64,-wrap,pread,-wrap,pwrite,-wrap,readv,-wrap,writev,-wrap,__xstat,-wrap,__lxstat,-wrap,__fxstat,-wrap,__xstat64,-wrap,__lxstat64,-wrap,__fxstat64,-wrap,mmap,-wrap,mmap64,-wrap,fopen,-wrap,fclose,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,fopen64,-wrap,pread64,-wrap,pwrite64,-wrap,fsync,-wrap,fdatasync,-wrap,ncmpi_create,-wrap,ncmpi_open,-wrap,ncmpi_close,-wrap,H5Fcreate,-wrap,H5Fopen,-wrap,H5Fclose" +CP_WRAPPERS="-Wl,-u,MPI_Init,-u,MPI_Wtime,-wrap,write,-wrap,open,-wrap,creat,-wrap,creat64,-wrap,open64,-wrap,close,-wrap,read,-wrap,lseek,-wrap,lseek64,-wrap,pread,-wrap,pwrite,-wrap,readv,-wrap,writev,-wrap,__xstat,-wrap,__lxstat,-wrap,__fxstat,-wrap,__xstat64,-wrap,__lxstat64,-wrap,__fxstat64,-wrap,mmap,-wrap,mmap64,-wrap,fopen,-wrap,fclose,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,fopen64,-wrap,pread64,-wrap,pwrite64,-wrap,fsync,-wrap,fdatasync,-wrap,ncmpi_create,-wrap,ncmpi_open,-wrap,ncmpi_close,-wrap,H5Fcreate,-wrap,H5Fopen,-wrap,H5Fclose" # ,-u,__wrap___fxstat64,-u,pthread_mutex_lock,-u,pthread_mutex_unlock @@ -4231,7 +4231,7 @@ $as_echo "#define __D_MPI_REQUEST MPI_Request" >>confdefs.h fi -DARSHAN_VERSION="2.2.5-pre1" +DARSHAN_VERSION="2.2.5-pre2" @@ -4749,7 +4749,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.5-pre1, which was +This file was extended by darshan-runtime $as_me 2.2.5-pre2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4811,7 +4811,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.5-pre1 +darshan-runtime config.status 2.2.5-pre2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/darshan-runtime/configure.in b/darshan-runtime/configure.in index 3cfbfdc..a023f54 100644 --- a/darshan-runtime/configure.in +++ b/darshan-runtime/configure.in @@ -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.5-pre1]) +AC_INIT([darshan-runtime], [2.2.5-pre2]) AC_CONFIG_SRCDIR([darshan.h]) AC_CONFIG_AUX_DIR(../maint/config) AC_CONFIG_HEADER(darshan-runtime-config.h) @@ -171,7 +171,7 @@ CFLAGS="$old_cflags" AC_CHECK_HEADERS(mntent.h sys/mount.h) # libc functions wrapped by darshan -CP_WRAPPERS="-Wl,-u,MPI_Wtime,-wrap,write,-wrap,open,-wrap,creat,-wrap,creat64,-wrap,open64,-wrap,close,-wrap,read,-wrap,lseek,-wrap,lseek64,-wrap,pread,-wrap,pwrite,-wrap,readv,-wrap,writev,-wrap,__xstat,-wrap,__lxstat,-wrap,__fxstat,-wrap,__xstat64,-wrap,__lxstat64,-wrap,__fxstat64,-wrap,mmap,-wrap,mmap64,-wrap,fopen,-wrap,fclose,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,fopen64,-wrap,pread64,-wrap,pwrite64,-wrap,fsync,-wrap,fdatasync,-wrap,ncmpi_create,-wrap,ncmpi_open,-wrap,ncmpi_close,-wrap,H5Fcreate,-wrap,H5Fopen,-wrap,H5Fclose" +CP_WRAPPERS="-Wl,-u,MPI_Init,-u,MPI_Wtime,-wrap,write,-wrap,open,-wrap,creat,-wrap,creat64,-wrap,open64,-wrap,close,-wrap,read,-wrap,lseek,-wrap,lseek64,-wrap,pread,-wrap,pwrite,-wrap,readv,-wrap,writev,-wrap,__xstat,-wrap,__lxstat,-wrap,__fxstat,-wrap,__xstat64,-wrap,__lxstat64,-wrap,__fxstat64,-wrap,mmap,-wrap,mmap64,-wrap,fopen,-wrap,fclose,-wrap,fread,-wrap,fwrite,-wrap,fseek,-wrap,fopen64,-wrap,pread64,-wrap,pwrite64,-wrap,fsync,-wrap,fdatasync,-wrap,ncmpi_create,-wrap,ncmpi_open,-wrap,ncmpi_close,-wrap,H5Fcreate,-wrap,H5Fopen,-wrap,H5Fclose" # ,-u,__wrap___fxstat64,-u,pthread_mutex_lock,-u,pthread_mutex_unlock diff --git a/darshan-util/configure b/darshan-util/configure index ab9bddb..65f981b 100755 --- a/darshan-util/configure +++ b/darshan-util/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for darshan-util 2.2.5-pre1. +# Generated by GNU Autoconf 2.69 for darshan-util 2.2.5-pre2. # # # 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.5-pre1' -PACKAGE_STRING='darshan-util 2.2.5-pre1' +PACKAGE_VERSION='2.2.5-pre2' +PACKAGE_STRING='darshan-util 2.2.5-pre2' 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.5-pre1 to adapt to many kinds of systems. +\`configure' configures darshan-util 2.2.5-pre2 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.5-pre1:";; + short | recursive ) echo "Configuration of darshan-util 2.2.5-pre2:";; 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.5-pre1 +darshan-util configure 2.2.5-pre2 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.5-pre1, which was +It was created by darshan-util $as_me 2.2.5-pre2, 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.5-pre1, which was +This file was extended by darshan-util $as_me 2.2.5-pre2, 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.5-pre1 +darshan-util config.status 2.2.5-pre2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/darshan-util/configure.in b/darshan-util/configure.in index 3f9e23c..519545e 100644 --- a/darshan-util/configure.in +++ b/darshan-util/configure.in @@ -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.5-pre1]) +AC_INIT([darshan-util], [2.2.5-pre2]) AC_CONFIG_SRCDIR([darshan-logutils.h]) AC_CONFIG_AUX_DIR(../maint/config) AC_CONFIG_HEADER(darshan-util-config.h) -- 2.26.2