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

clean out INSTALL file, stop looking for bz2 lib in runtime build


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@477 3b7491f3-a168-0410-bf4b-c445ed680a29
parent 9361a678
NOTE: Please visit the following web site for more thorough documentation:
http://www.mcs.anl.gov/research/projects/darshan/documentation
Compile and install example for BG/P:
-------------------------------------
# adjust these paths to suit
export PREFIX=/home/carns/demo/install
export LOGPATH=/home/carns/demo
# configuring, compiling, and installing darshan
./configure --with-mem-align=16 --with-log-path=$LOGPATH --prefix=$PREFIX --with-zlib-for-mpi=/soft/apps/zlib-1.2.3/ --with-jobid-env=COBALT_JOBID CFLAGS="-O2"
make
make install
Explanation of configure arguments:
--------------------
--with-log-path (manditory): specifies the directory where all of the
application log files will be written.
--prefix (manditory): where compiler scripts and darshan libraries will be
installed.
--with-mem-align (manditory): memory alignment for the architecture you are
building for; 16 is an interesting value on BG/P because that is the optimal
alignment for tree network communication.
--with-jobid-env (manditory): name of environment variable to use for
determining the job id at runtime. If this environment variable is not set,
then Darshan will use the process pid instead.
--with-zlib-for-mpi (optional): path to a zlib build that is cross compiled
for use with mpi processes
Setting up the log directory
----------------------------
# create the directory that you specified in the --with-log-path argument to
# configure (if it does not already exist)
mkdir $LOGPATH
# run a darshan script (no arguments needed) that will create subdirectories
# for darshan to place output in. The subdirectories are structured in
# <year>/<month>/<day> format. The last subdirectories will have the sticky
# bit set (1777 permissions, like /tmp) so that multiple users can write log
# files to the same directories.
darshan-mk-log-dirs.pl
Generating compiler scripts
---------------------------
Use one of darshan-gen-cc.pl, darshan-gen-fortran.pl, or darshan-gen-cxx.pl
to create new compiler scripts for C, FORTRAN, or C++. For example:
./darshan-gen-cc.pl `which mpicc` --output $PREFIX/bin/mpicc
The resulting scripts can be placed in your path to be used as the default
compilers (if desired).
Using darshan:
-------
Compile your application using one of the compiler scripts genrated in the
previous step. If you have a previously compiled application you can simply
relink it using the darshan compilers rather than recompiling from scratch.
Example:
install/bin/mpicc mpi-io-test.c -o mpi-io-test
The log files that darshan generates at run time will be in
a binary format with native gzip compression.
To get a human readable version of the log file, use the
"$PREFIX/bin/darshan-parser $LOGPATH/<log_file_name>" utility from the
bin directory.
To generate key summary graphs, go to the "utils" directory of the
source tree and run "./darshan-aggregate-stats.pl" on the log file. This
tool requires pdflatex and a version of gnuplot with pdf support. It will
generate a pdf file with graphs summarizing the behavior of the application.
You can also compare two different log files by using
$PREFIX/bin/darshan-diff <log1> <log2> to see what fields are different.
compiling libz for the compute nodes
-------------------------------------
NOTE: This is not necessary (there is a libz build already available for
compute nodes). The instructions are included for archival purposes.
cd extern
tar -vxzf zlib-1.2.3.tar.gz
cd zlib-1.2.3
CC=/bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc-bgp-linux-gcc CFLAGS="-O2" ./configure
make
cp libz.a $PREFIX/lib/
Please visit the following web site for more thorough documentation:
http://www.mcs.anl.gov/darshan/documentation
......@@ -607,7 +607,6 @@ __CP_LOG_PATH
darshan_bin_path
darshan_lib_path
PRI_MACROS_BROKEN
LIBBZ2
EGREP
GREP
CPP
......@@ -663,7 +662,6 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
with_zlib
with_bzlib
enable_ld_preload
with_mem_align
with_log_path_by_env
......@@ -1299,9 +1297,6 @@ Optional Packages:
--with-zlib=DIR root directory path of zlib installation defaults to
/usr/local or /usr if not found in /usr/local
--without-zlib to disable zlib usage completely
--with-bzlib=DIR root directory path of bzlib installation defaults to
/usr/local or /usr if not found in /usr/local
--without-bzlib to disable bzlib usage completely
--with-mem-align=<num> Memory alignment in bytes
--with-log-path-by-env=<env var list> Comma separated list of environment variables to check for log path location before --with-log-path path
--with-log-hints=<hint1=x,hint2=y> Semicolon-separated list of MPI-IO hints for log file write
......@@ -3597,185 +3592,6 @@ $as_echo "failed" >&6; }
fi
#
# Handle user hints
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if bzlib is wanted" >&5
$as_echo_n "checking if bzlib is wanted... " >&6; }
# Check whether --with-bzlib was given.
if test "${with_bzlib+set}" = set; then :
withval=$with_bzlib; if test "$withval" != no ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
if test -d "$withval"
then
BZLIB_HOME="$withval"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Sorry, $withval does not exist, checking usual places" >&5
$as_echo "$as_me: WARNING: Sorry, $withval does not exist, checking usual places" >&2;}
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
BZLIB_HOME=/usr/local
if test ! -f "${BZLIB_HOME}/include/bzlib.h"
then
BZLIB_HOME=/usr
fi
#
# Locate bzlib, if wanted
#
if test -n "${BZLIB_HOME}"
then
BZLIB_OLD_LDFLAGS=$LDFLAGS
BZLIB_OLD_CPPFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -L${BZLIB_HOME}/lib"
CPPFLAGS="$CPPFLAGS -I${BZLIB_HOME}/include"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzCompressInit in -lbz2" >&5
$as_echo_n "checking for BZ2_bzCompressInit in -lbz2... " >&6; }
if ${ac_cv_lib_bz2_BZ2_bzCompressInit+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbz2 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char BZ2_bzCompressInit ();
int
main ()
{
return BZ2_bzCompressInit ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_bz2_BZ2_bzCompressInit=yes
else
ac_cv_lib_bz2_BZ2_bzCompressInit=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzCompressInit" >&5
$as_echo "$ac_cv_lib_bz2_BZ2_bzCompressInit" >&6; }
if test "x$ac_cv_lib_bz2_BZ2_bzCompressInit" = xyes; then :
bzlib_cv_libbz2=yes
else
bzlib_cv_libbz2=no
fi
ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
if test "x$ac_cv_header_bzlib_h" = xyes; then :
bzlib_cv_bzlib_h=yes
else
bzlib_cv_bzlib_h=no
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test "$bzlib_cv_libbz2" = "yes" -a "$bzlib_cv_bzlib_h" = "yes"
then
#
# If both library and header were found, use them
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzCompressInit in -lbz2" >&5
$as_echo_n "checking for BZ2_bzCompressInit in -lbz2... " >&6; }
if ${ac_cv_lib_bz2_BZ2_bzCompressInit+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbz2 $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char BZ2_bzCompressInit ();
int
main ()
{
return BZ2_bzCompressInit ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_bz2_BZ2_bzCompressInit=yes
else
ac_cv_lib_bz2_BZ2_bzCompressInit=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzCompressInit" >&5
$as_echo "$ac_cv_lib_bz2_BZ2_bzCompressInit" >&6; }
if test "x$ac_cv_lib_bz2_BZ2_bzCompressInit" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBBZ2 1
_ACEOF
LIBS="-lbz2 $LIBS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking bzlib in ${BZLIB_HOME}" >&5
$as_echo_n "checking bzlib in ${BZLIB_HOME}... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "ok" >&6; }
LIBBZ2=-lbz2
else
#
# If either header or library was not found, revert and bomb
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking bzlib in ${BZLIB_HOME}" >&5
$as_echo_n "checking bzlib in ${BZLIB_HOME}... " >&6; }
LDFLAGS="$BZLIB_OLD_LDFLAGS"
CPPFLAGS="$BZLIB_OLD_CPPFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
$as_echo "failed" >&6; }
# Don't fail; this is optional in Darshan
# AC_MSG_ERROR(either specify a valid bzlib installation with --with-bzlib=DIR or disable bzlib usage with --without-bzlib)
# TODO: it would be nice if this showed up at the _end_ of
# configure...
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libbz2 not found; Darshan utilities will use gzip only." >&5
$as_echo "$as_me: WARNING: libbz2 not found; Darshan utilities will use gzip only." >&2;}
fi
fi
# Check whether --enable-ld-preload was given.
if test "${enable_ld_preload+set}" = set; then :
......
......@@ -21,9 +21,8 @@ AC_TRY_COMPILE([#include <mpi.h>], [int ret = MPI_Init(0, (void*)0)],
AC_MSG_ERROR(CC doesn't appear to be a valid MPI compiler. See INSTALL document.)
)
dnl TODO: make sure these provide options to specify path to zlib and bzlib
dnl runtime libraries require zlib
CHECK_ZLIB
CHECK_BZLIB
AC_ARG_ENABLE(ld-preload,
[ --disable-ld-preload Disables support for LD_PRELOAD library],
......
......@@ -9,9 +9,6 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `bz2' library (-lbz2). */
#undef HAVE_LIBBZ2
/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ
......
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