mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-31 17:10:47 +08:00
[svn-r26938] svn merge -r26910:26937 https://svn.hdfgroup.uiuc.edu/hdf5/trunk
This commit is contained in:
commit
241bbc426c
@ -52,6 +52,7 @@ build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on
|
||||
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on
|
||||
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT=ON # enable zlib filter default on
|
||||
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT=OFF # enables zlib filter default off
|
||||
shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON # enables shared lib; default on
|
||||
|
||||
|
||||
#=============
|
||||
@ -81,16 +82,14 @@ Usage: $progname [<options>]
|
||||
enable or disable c++ API. Default is off.
|
||||
--enable-hl | --disable-hl:
|
||||
enable or disable high level API. Default is on.
|
||||
--enable-shared | --disable-shared:
|
||||
enable or disable shared lib. Default is on.
|
||||
--enable-tools | --disable-tools:
|
||||
enable or disable building tools. Default is on.
|
||||
--enable-testing | --disable-testing:
|
||||
enable or disable building tests. Default is on.
|
||||
--with-zlib=INC,LIB | --without-zlib:
|
||||
--with-zlib | --without-zlib:
|
||||
Use zlib library for external deflate I/O filter. Default is on.
|
||||
INC and LIB are the include and lib directories.
|
||||
--with-szlib=INC,LIB| --without-szlib:
|
||||
Use szip library for external szip library I/O filter. Default is off.
|
||||
INC and LIB are the include and lib directories.
|
||||
--help: shows details help page
|
||||
EOF
|
||||
}
|
||||
@ -126,6 +125,40 @@ STEP()
|
||||
}
|
||||
|
||||
|
||||
# Install the generated installation image file. Different platform uses
|
||||
# different image files.
|
||||
# Linux: HDF5-<version>-Linux.sh file
|
||||
# Mac OS X: Not implemented yet
|
||||
# Others: Not implemented yet
|
||||
INSTALL_HDF5()
|
||||
{
|
||||
myos="`uname -s`"
|
||||
case "$myos" in
|
||||
Linux)
|
||||
install_file=./HDF5-${version}-Linux.sh
|
||||
$install_file --skip-license $*
|
||||
;;
|
||||
Darwin) # Mac OSX DMG file
|
||||
install_file=HDF5-${version}-Darwin.dmg
|
||||
test -d hdf5 || mkdir hdf5
|
||||
basename=`basename $install_file .dmg`
|
||||
# mount the DMG file as /Volumes/$basename
|
||||
# echo 'Y' as yes for license.
|
||||
echo Y | hdiutil mount $install_file
|
||||
# copy the contents to the install location
|
||||
cp -R "/Volumes/$basename/HDF_Group" hdf5
|
||||
# unmount the DMG file
|
||||
hdiutil unmount /Volumes/$basename
|
||||
;;
|
||||
*) # unknown/unsupported OS.
|
||||
echo "INSTALL_HDF5: Error--unknown/unsupported OS($myos)"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
#==========
|
||||
# main
|
||||
#==========
|
||||
@ -167,6 +200,12 @@ while [ $# -gt 0 ]; do
|
||||
--disable-hl)
|
||||
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=OFF
|
||||
;;
|
||||
--enable-shared)
|
||||
shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON
|
||||
;;
|
||||
--disable-shared)
|
||||
shared_lib=-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
;;
|
||||
--enable-tools)
|
||||
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON
|
||||
;;
|
||||
@ -179,6 +218,12 @@ while [ $# -gt 0 ]; do
|
||||
--disable-testing)
|
||||
build_testing=-DBUILD_TESTING:BOOL=OFF
|
||||
;;
|
||||
--with-zlib)
|
||||
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON
|
||||
;;
|
||||
--without-zlib)
|
||||
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF
|
||||
;;
|
||||
--help)
|
||||
# print the detail help page and exit
|
||||
HELP
|
||||
@ -222,6 +267,7 @@ STEP "Configure..." "cmake \
|
||||
$build_fortran \
|
||||
$enable_f2003 \
|
||||
$build_hl_lib \
|
||||
$shared_lib \
|
||||
$build_testing \
|
||||
$build_tools \
|
||||
$with_zlib \
|
||||
@ -239,7 +285,8 @@ STEP "Test the library and tools..." "ctest . -C Release" $testlog
|
||||
STEP "Create an install image..." "cpack -C Release CPackConfig.cmake" $packlog
|
||||
|
||||
# 8. Install with this command:
|
||||
STEP "Install..." "./HDF5-${version}-Linux.sh --skip-license" $installlog
|
||||
#STEP "Install..." "./HDF5-${version}-Linux.sh --skip-license" $installlog
|
||||
STEP "Install..." "INSTALL_HDF5" $installlog
|
||||
# save the last exit code
|
||||
exit_code=$?
|
||||
|
||||
|
@ -57,45 +57,7 @@ parallel HDF5 with one of the above, just set CC as it and configure.
|
||||
$ make install
|
||||
|
||||
|
||||
2.2. IBM SP
|
||||
-----------
|
||||
During the build stage, the H5detect is compiled and executed to generate
|
||||
the source file H5Tinit.c which is compiled as part of the HDF5 library. In
|
||||
parallel mode, make sure your environment variables are set correctly to
|
||||
execute a single process mpi application. Otherwise, multiple processes
|
||||
attempt to write to the same H5Tinit.c file, resulting in a scrambled
|
||||
source file. Unfortunately, the setting varies from machine to machine.
|
||||
E.g., the following works for the IBM SP machine at LLNL.
|
||||
|
||||
setenv MP_PROCS 1
|
||||
setenv MP_NODES 1
|
||||
setenv MP_LABELIO no
|
||||
setenv MP_RMPOOL 0
|
||||
setenv LLNL_COMPILE_SINGLE_THREADED TRUE # for LLNL site only
|
||||
|
||||
The shared library configuration is problematic. So, only static library
|
||||
is supported.
|
||||
|
||||
Then do the following steps:
|
||||
|
||||
$ ./configure --enable-parallel --disable-shared --prefix=<install-directory>
|
||||
$ make # build the library
|
||||
$ make check # verify the correctness
|
||||
# Read the Details section about parallel tests.
|
||||
$ make install
|
||||
|
||||
We also suggest that you add "-qxlf90=autodealloc" to FCFLAGS when building
|
||||
parallel with fortran enabled. This can be done by invoking:
|
||||
|
||||
setenv FCFLAGS -qxlf90=autodealloc # 32 bit build
|
||||
or
|
||||
setenv FCFLAGS "-q64 -qxlf90=autodealloc" # 64 bit build
|
||||
|
||||
prior to running configure. Recall that the "-q64" is necessary for 64
|
||||
bit builds.
|
||||
|
||||
|
||||
2.3. Linux 2.4 and greater
|
||||
2.2. Linux 2.4 and greater
|
||||
--------------------------
|
||||
Be sure that your installation of MPICH was configured with the following
|
||||
configuration command-line option:
|
||||
@ -106,7 +68,7 @@ This allows for >2GB sized files on Linux systems and is only available with
|
||||
Linux kernels 2.4 and greater.
|
||||
|
||||
|
||||
2.4. Hopper (Cray XE6) (for v1.8 and later)
|
||||
2.3. Hopper (Cray XE6) (for v1.8 and later)
|
||||
-------------------------
|
||||
|
||||
The following steps are for building HDF5 for the Hopper compute
|
||||
@ -178,14 +140,6 @@ For examples,
|
||||
$ CC=mpcc_r ./configure --enable-parallel
|
||||
$ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel
|
||||
|
||||
If no such a compiler command is available then you must use your normal
|
||||
C compiler along with the location(s) of MPI/MPI-IO files to be used.
|
||||
For example,
|
||||
|
||||
$ CPPFLAGS=-I/usr/local/mpi/include \
|
||||
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
|
||||
./configure --enable-parallel=mpich
|
||||
|
||||
If a parallel library is being built then configure attempts to determine how
|
||||
to run a parallel application on one processor and on many processors. If the
|
||||
compiler is `mpicc' and the user hasn't specified values for RUNSERIAL and
|
||||
|
@ -1855,17 +1855,17 @@ dataset_list2(hid_t dset, const char UNUSED *name)
|
||||
for (i=0, total=0; i<nf; i++) {
|
||||
if (H5Pget_external(dcpl, (unsigned)i, sizeof(f_name), f_name, &f_offset, &f_size)<0) {
|
||||
h5tools_str_append(&buffer,
|
||||
" #%03d %10"HSIZE_T_FORMAT"u %10s %10s ***ERROR*** %s\n",
|
||||
" #%03d %10"H5_PRINTF_LL_WIDTH"u %10s %10s ***ERROR*** %s\n",
|
||||
i, total, "", "",
|
||||
i+1<nf?"Following addresses are incorrect":"");
|
||||
}
|
||||
else if (H5S_UNLIMITED==f_size) {
|
||||
h5tools_str_append(&buffer, " #%03d %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u %10s ",
|
||||
h5tools_str_append(&buffer, " #%03d %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u %10s ",
|
||||
i, total, (hsize_t)f_offset, "INF");
|
||||
print_string(&buffer, f_name, TRUE);
|
||||
}
|
||||
else {
|
||||
h5tools_str_append(&buffer, " #%03d %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u ",
|
||||
h5tools_str_append(&buffer, " #%03d %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u ",
|
||||
i, total, (hsize_t)f_offset, f_size);
|
||||
print_string(&buffer, f_name, TRUE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user