[Users] HDF5 compile issues w/ or w/o CactusExternal/HDF5

Luca Baiotti baiotti at ile.osaka-u.ac.jp
Sat Jun 18 18:37:20 CDT 2011


Hi Scott,

in order to use HDF5, as far as I know:

- thorn CactusExternal/HDF5 must be compiled in (irrespective of the 
option settings)

- you must never set   HDF5 = YES (do not set 'HDF5=' at all)

- you can either set HDF5_DIR = <your installation directory> or leave 
also this setting out of your option list; in the latter case Cactus 
will build its own HDF5 libraries from source.



Hope this helps,

Luca


On 19/6/11 6:53 AM, Scott Hawley wrote:
> Hi.
>     I'm unable to get HDF5 capability to install.  If I set HDF5_DIR=/sw, which is the installation already on my machine, I get the error message that I need a thorn that implements HDF5.  ("CST error 1:  ->  Thorn 'CarpetIOHDF5' requires the capability 'HDF5'.
>       Please add a thorn that provides 'HDF5' to your ThornList or remove 'CarpetIOHDF5' from it !")
>
>
> If I leave HDF5_DIR unset (and all other "HDF5" flags unset as well) and include CactusExternal/HDF5 in my Thornlist, then I also get an error message saying it's unable to compile, as shown below.
>
> To be clear, the options settings which are either left in the file or commented out via "#", are:
>
> HDF5            = YES
> HDF5_DIR       = /sw
> ZLIB_DIR       = /sw
>
> I tried searching online for previous users messages about this or instructions and have not found them.
>
> What am I doing wrong?
> Thanks,
> -Scott
>
>
> example of compilation with no HDF5 flags set:
>
> % gmake texmex
>
> ...skipping...
>
> + echo 'HDF5 selected, but HDF5_DIR not set. Checking some places...'
> + echo 'END MESSAGE'
> ++ '[' gfortran '!=' none ']'
> ++ echo lib/libhdf5_fortran.a
> + FILES='include/hdf5.h lib/libhdf5.a lib/libhdf5_cpp.a lib/libhdf5_fortran.a lib/libhdf5_hl.a lib/libhdf5_hl_cpp.a'
> + DIRS='/usr /usr/local /usr/local/hdf5 /usr/local/packages/hdf5 /usr/local/apps/hdf5 /opt/local /Users/shawley /Users/shawley/hdf5 c:/packages/hdf5'
> + for dir in '$DIRS'
> + HDF5_DIR=/usr
> + for file in '$FILES'
> + '[' '!' -r /usr/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/usr/local
> + for file in '$FILES'
> + '[' '!' -r /usr/local/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/usr/local/hdf5
> + for file in '$FILES'
> + '[' '!' -r /usr/local/hdf5/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/usr/local/packages/hdf5
> + for file in '$FILES'
> + '[' '!' -r /usr/local/packages/hdf5/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/usr/local/apps/hdf5
> + for file in '$FILES'
> + '[' '!' -r /usr/local/apps/hdf5/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/opt/local
> + for file in '$FILES'
> + '[' '!' -r /opt/local/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/Users/shawley
> + for file in '$FILES'
> + '[' '!' -r /Users/shawley/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=/Users/shawley/hdf5
> + for file in '$FILES'
> + '[' '!' -r /Users/shawley/hdf5/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + for dir in '$DIRS'
> + HDF5_DIR=c:/packages/hdf5
> + for file in '$FILES'
> + '[' '!' -r c:/packages/hdf5/include/hdf5.h ']'
> + unset HDF5_DIR
> + break
> + '[' -n '' ']'
> + '[' -z '' ']'
> + echo 'BEGIN MESSAGE'
> + echo 'HDF5 not found'
> + echo 'END MESSAGE'
> + '[' -z '' -o '' = BUILD ']'
> + echo 'BEGIN MESSAGE'
> + echo 'Building HDF5...'
> + echo 'END MESSAGE'
> + THORN=HDF5
> + NAME=hdf5-1.8.6
> ++ dirname /Users/shawley/Cactus/arrangements/ExternalLibraries/HDF5/HDF5.sh
> + SRCDIR=/Users/shawley/Cactus/arrangements/ExternalLibraries/HDF5
> + BUILD_DIR=/Users/shawley/Cactus/configs/texmex/scratch/build/HDF5
> + INSTALL_DIR=/Users/shawley/Cactus/configs/texmex/scratch/external/HDF5
> + DONE_FILE=/Users/shawley/Cactus/configs/texmex/scratch/done/HDF5
> + HDF5_DIR=/Users/shawley/Cactus/configs/texmex/scratch/external/HDF5
> + exec
> + set -x
> + set -e
> + cd /Users/shawley/Cactus/configs/texmex/scratch
> + '[' -e /Users/shawley/Cactus/configs/texmex/scratch/done/HDF5 -a /Users/shawley/Cactus/configs/texmex/scratch/done/HDF5 -nt /Users/shawley/Cactus/arrangements/ExternalLibraries/HDF5/dist/hdf5-1.8.6.tar.gz -a /Users/shawley/Cactus/configs/texmex/scratch/done/HDF5 -nt /Users/shawley/Cactus/arrangements/ExternalLibraries/HDF5/HDF5.sh ']'
> + echo 'HDF5: Building enclosed HDF5 library'
> HDF5: Building enclosed HDF5 library
> ++ gmake --help
> ++ echo make
> + MAKE=make
> ++ gtar --help
> ++ echo gtar
> + TAR=gtar
> + '[' -z patch ']'
> + '[' gfortran = none ']'
> + export FC=gfortran
> + FC=gfortran
> + export FCFLAGS=-m64
> + FCFLAGS=-m64
> + export LDFLAGS
> + unset LIBS
> + unset RPATH
> + echo '' rucs
> + grep 64
> + echo 'HDF5: Preparing directory structure...'
> HDF5: Preparing directory structure...
> + mkdir build external done
> + true
> + rm -rf /Users/shawley/Cactus/configs/texmex/scratch/build/HDF5 /Users/shawley/Cactus/configs/texmex/scratch/external/HDF5
> + mkdir /Users/shawley/Cactus/configs/texmex/scratch/build/HDF5 /Users/shawley/Cactus/configs/texmex/scratch/external/HDF5
> + echo 'HDF5: Unpacking archive...'
> HDF5: Unpacking archive...
> + pushd /Users/shawley/Cactus/configs/texmex/scratch/build/HDF5
> ~/Cactus/configs/texmex/scratch/build/HDF5 ~/Cactus/configs/texmex/scratch
> + gtar xzf /Users/shawley/Cactus/arrangements/ExternalLibraries/HDF5/dist/hdf5-1.8.6.tar.gz
> + patch -p0
> patching file hdf5-1.8.6/test/dt_arith.c
> + echo 'HDF5: Configuring...'
> HDF5: Configuring...
> + cd hdf5-1.8.6
> ++ '[' -n gfortran ']'
> ++ echo '' --enable-fortran
> + ./configure --prefix=/Users/shawley/Cactus/configs/texmex/scratch/external/HDF5 --with-zlib=/Users/shawley/Cactus/configs/texmex/scratch/external/zlib --enable-cxx --enable-fortran
> checking for a BSD-compatible install... usage: install installation-prefix
>
> Example: install /usr/local
>
> Note: See script source for user-modifiable environment variables that may
> need to be tailored to your desired compilation environment.
> /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... bin/install-sh -c -d
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking build system type... i386-apple-darwin10.7.4
> checking host system type... i386-apple-darwin10.7.4
> checking shell variables initial values... done
> checking if basename works... yes
> checking if xargs works... yes
> checking for cached host... none
> checking for config i386-apple-darwin10.7.4... no
> checking for config i386-apple-darwin10.7.4... no
> checking for config apple-darwin10.7.4... no
> checking for config apple-darwin10.7.4... no
> checking for config i386-darwin10.7.4... no
> checking for config i386-darwin10.7.4... no
> checking for config i386-apple... no
> checking for config darwin10.7.4... no
> checking for config darwin10.7.4... no
> checking for config apple... found
> compiler '/sw/bin/mpicc' is GNU gcc-4.2.1
> compiler 'gfortran' is GNU gfortran-4.4.4
>      Warning: shared libraries are not supported with Fortran
>      Disabling shared libraries
> No match to get cc_version_info for /sw/bin/mpicc
> No match to get cxx_version_info for /sw/bin/mpic++
> checking for config ./config/site-specific/host-provision.local... no
> checking for config ./config/site-specific/host-local... no
> checking for gcc... /sw/bin/mpicc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether /sw/bin/mpicc accepts -g... yes
> checking for /sw/bin/mpicc option to accept ISO C89... none needed
> checking for style of include used by make... GNU
> checking dependency style of /sw/bin/mpicc... gcc3
> checking if Fortran interface enabled... yes
> checking whether we are using the GNU Fortran compiler... yes
> checking whether gfortran accepts -g... yes
> checking for Fortran flag to compile .f90 files... none
> checking whether we are using the GNU Fortran compiler... (cached) yes
> checking whether gfortran accepts -g... (cached) yes
> checking what gfortran does with modules... MODULE.mod
> checking how gfortran finds modules... -I
> checking how to get verbose linking output from gfortran... -v
> checking for Fortran libraries of gfortran...  -L/sw/lib -L/Users/shawley/lib -L/Users/shawley/texmex/lib -L/sw/lib/gcc4.4/lib/ -L/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10.7.3/4.4.4 -L/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10.7.3/4.4.4/../../.. -lgfortranbegin -lgfortran
> checking for dummy main to link with Fortran libraries... none
> checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore
> checking if Fortran compiler supports intrinsic SIZEOF... yes
> checking if Fortran default REAL is DOUBLE PRECISION... no
> checking whether we are using the GNU C++ compiler... yes
> checking whether /sw/bin/mpic++ accepts -g... yes
> checking dependency style of /sw/bin/mpic++... gcc3
> checking how to run the C++ preprocessor... /sw/bin/mpic++ -E
> checking if c++ interface enabled... yes
> checking if /sw/bin/mpic++ needs old style header files in includes... no
> checking if /sw/bin/mpic++ can handle namespaces... yes
> checking if /sw/bin/mpic++ supports std... yes
> checking if /sw/bin/mpic++ supports bool types... yes
> checking if /sw/bin/mpic++ has offsetof extension... yes
> checking if /sw/bin/mpic++ can handle static cast... yes
> checking for perl... perl
> checking whether make sets $(MAKE)... (cached) yes
> checking for tr... /usr/bin/tr
> checking if srcdir= and time commands work together... yes
> checking for mpiexec... none
> checking how to print strings... printf
> checking for a sed that does not truncate output... /usr/bin/sed
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for fgrep... /usr/bin/grep -F
> checking for ld used by /sw/bin/mpicc... /sw/bin/mpic++
> checking if the linker (/sw/bin/mpic++) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
> checking the name lister (/usr/bin/nm) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 196608
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... yes
> checking for /sw/bin/mpic++ option to reload object files... -r
> checking for objdump... no
> checking how to recognize dependent libraries... pass_all
> checking for ar... ar
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/bin/nm output from /sw/bin/mpicc object... ok
> checking for dsymutil... dsymutil
> checking for nmedit... nmedit
> checking for lipo... lipo
> checking for otool... otool
> checking for otool64... no
> checking for -single_module linker flag... yes
> checking for -exported_symbols_list linker flag... yes
> checking for -force_load linker flag... yes
> checking how to run the C preprocessor... /usr/bin/cpp
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for dlfcn.h... yes
> checking for objdir... .libs
> checking if /sw/bin/mpicc supports -fno-rtti -fno-exceptions... no
> checking for /sw/bin/mpicc option to produce PIC... -fno-common -DPIC
> checking if /sw/bin/mpicc PIC flag -fno-common -DPIC works... yes
> checking if /sw/bin/mpicc static flag -static works... no
> checking if /sw/bin/mpicc supports -c -o file.o... yes
> checking if /sw/bin/mpicc supports -c -o file.o... (cached) yes
> checking whether the /sw/bin/mpicc linker (/sw/bin/mpic++) supports shared libraries... yes
> checking dynamic linker characteristics... darwin10.7.4 dyld
> checking how to hardcode library paths into programs... immediate
> checking for dlopen in -ldl... yes
> checking whether a program can dlopen itself... yes
> checking whether a statically linked program can dlopen itself... yes
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... no
> checking whether to build static libraries... yes
> checking how to run the C++ preprocessor... /sw/bin/mpic++ -E
> checking for ld used by /sw/bin/mpic++... /sw/bin/mpic++
> checking if the linker (/sw/bin/mpic++) is GNU ld... no
> checking whether the /sw/bin/mpic++ linker (/sw/bin/mpic++) supports shared libraries... yes
> checking for /sw/bin/mpic++ option to produce PIC... -fno-common -DPIC
> checking if /sw/bin/mpic++ PIC flag -fno-common -DPIC works... yes
> checking if /sw/bin/mpic++ static flag -static works... no
> checking if /sw/bin/mpic++ supports -c -o file.o... yes
> checking if /sw/bin/mpic++ supports -c -o file.o... (cached) yes
> checking whether the /sw/bin/mpic++ linker (/sw/bin/mpic++) supports shared libraries... yes
> checking dynamic linker characteristics... darwin10.7.4 dyld
> checking how to hardcode library paths into programs... immediate
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... no
> checking whether to build static libraries... yes
> checking for gfortran option to produce PIC... -fno-common
> checking if gfortran PIC flag -fno-common works... yes
> checking if gfortran static flag -static works... no
> checking if gfortran supports -c -o file.o... yes
> checking if gfortran supports -c -o file.o... (cached) yes
> checking whether the gfortran linker (/sw/bin/mpic++) supports shared libraries... yes
> checking dynamic linker characteristics... darwin10.7.4 dyld
> checking how to hardcode library paths into programs... immediate
> checking if we should install only statically linked executables... no
> checking if -Wl,-rpath should be used to link shared libs in nondefault directories... yes
> checking make... checking how make searches directories... VPATH=DIR1 DIR2 ...
> checking whether make will build with undefined variables... yes
> checking for production mode... production
> checking for ceil in -lm... yes
> checking for ANSI C header files... (cached) yes
> checking whether time.h and sys/time.h may both be included... yes
> checking for difftime... yes
> checking for gettimeofday... yes
> checking sys/resource.h usability... yes
> checking sys/resource.h presence... yes
> checking for sys/resource.h... yes
> checking sys/time.h usability... yes
> checking sys/time.h presence... yes
> checking for sys/time.h... yes
> checking for unistd.h... (cached) yes
> checking sys/ioctl.h usability... yes
> checking sys/ioctl.h presence... yes
> checking for sys/ioctl.h... yes
> checking for sys/stat.h... (cached) yes
> checking sys/socket.h usability... yes
> checking sys/socket.h presence... yes
> checking for sys/socket.h... yes
> checking for sys/types.h... (cached) yes
> checking stddef.h usability... yes
> checking stddef.h presence... yes
> checking for stddef.h... yes
> checking setjmp.h usability... yes
> checking setjmp.h presence... yes
> checking for setjmp.h... yes
> checking features.h usability... no
> checking features.h presence... no
> checking for features.h... no
> checking for stdint.h... (cached) yes
> checking io.h usability... no
> checking io.h presence... no
> checking for io.h... no
> checking winsock.h usability... no
> checking winsock.h presence... no
> checking for winsock.h... no
> checking sys/timeb.h usability... yes
> checking sys/timeb.h presence... yes
> checking for sys/timeb.h... yes
> checking if configure should try to set up large file support... yes
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... no
> checking if large (64-bit) files are supported on this system.... yes
> skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because off64_t is not defined
> checking for fseeko... yes
> checking for ftello... yes
> checking for stat64... yes
> checking for fstat64... yes
> checking for off_t... yes
> checking for size_t... yes
> checking for ssize_t... yes
> checking for ptrdiff_t... yes
> checking whether byte ordering is bigendian... no
> checking size of char... 1
> checking size of short... 2
> checking size of int... 4
> checking size of unsigned... 4
> checking size of long... 8
> checking size of long long... 8
> checking size of __int64... 0
> checking size of float... 4
> checking size of double... 8
> checking size of long double... 16
> checking size of int8_t... 1
> checking size of uint8_t... 1
> checking size of int_least8_t... 1
> checking size of uint_least8_t... 1
> checking size of int_fast8_t... 1
> checking size of uint_fast8_t... 1
> checking size of int16_t... 2
> checking size of uint16_t... 2
> checking size of int_least16_t... 2
> checking size of uint_least16_t... 2
> checking size of int_fast16_t... 2
> checking size of uint_fast16_t... 2
> checking size of int32_t... 4
> checking size of uint32_t... 4
> checking size of int_least32_t... 4
> checking size of uint_least32_t... 4
> checking size of int_fast32_t... 4
> checking size of uint_fast32_t... 4
> checking size of int64_t... 8
> checking size of uint64_t... 8
> checking size of int_least64_t... 8
> checking size of uint_least64_t... 8
> checking size of int_fast64_t... 8
> checking size of uint_fast64_t... 8
> checking size of size_t... 8
> checking size of ssize_t... 8
> checking size of ptrdiff_t... 8
> checking size of off_t... 8
> checking size of off64_t... 0
> checking if dev_t is scalar... yes
> checking for dmalloc library... suppressed
> checking zlib.h usability... yes
> checking zlib.h presence... yes
> checking for zlib.h... yes
> checking for compress2 in -lz... yes
> checking for compress2... yes
> checking for szlib... suppressed
> checking for pthread... suppressed
> checking for thread safe support... no
> checking for tm_gmtoff in struct tm... yes
> checking for __tm_gmtoff in struct tm... no
> checking for global timezone variable... yes
> checking whether struct tm is in sys/time.h or time.h... time.h
> checking for struct tm.tm_zone... yes
> checking for struct timezone... yes
> checking whether gettimeofday() gives timezone... yes
> checking for st_blocks in struct stat... yes
> checking for _getvideoconfig... no
> checking for gettextinfo... no
> checking for GetConsoleScreenBufferInfo... no
> checking for _scrsize... no
> checking for ioctl... yes
> checking for struct videoconfig... no
> checking for struct text_info... no
> checking for TIOCGWINSZ... yes
> checking for TIOCGETD... yes
> checking for alarm... yes
> checking for BSDgettimeofday... no
> checking for fork... yes
> checking for frexpf... yes
> checking for frexpl... yes
> checking for gethostname... yes
> checking for getpwuid... yes
> checking for getrusage... yes
> checking for lstat... yes
> checking for rand_r... yes
> checking for random... yes
> checking for setsysinfo... no
> checking for signal... yes
> checking for longjmp... yes
> checking for setjmp... yes
> checking for siglongjmp... yes
> checking for sigsetjmp... yes
> checking for sigprocmask... yes
> checking for snprintf... yes
> checking for srandom... yes
> checking for strdup... yes
> checking for symlink... yes
> checking for system... yes
> checking for tmpfile... yes
> checking for vasprintf... yes
> checking for waitpid... yes
> checking for vsnprintf... yes
> checking if vsnprintf returns correct value... yes
> checking if lone colon can be used as an argument... yes
> checking for an ANSI C-conforming const... yes
> checking for inline... inline
> checking for __attribute__ extension... yes
> checking for __func__ extension... yes
> checking for __FUNCTION__ extension... yes
> checking for C99 designated initialization support... yes
> checking how to print long long... %ld and %lu
> checking Threads support system scope... yes
> checking for gpfs... suppressed
> checking for debug flags... none
> checking whether function stack tracking is enabled... no
> checking whether metadata trace file code is enabled... no
> checking for API tracing... no
> checking for instrumented library... no
> checking whether to clear file buffers... yes
> checking whether a memory checking tool will be used... no
> configure: error: An MPI compiler is being used; --enable-cxx is not allowed
> + ((  1  ))
> + echo 'BEGIN ERROR'
> + echo 'Error while building HDF5. Aborting.'
> + echo 'END ERROR'
> + exit 1
> HDF5 selected, but HDF5_DIR not set. Checking some places...
> HDF5 not found
> Building HDF5...
>
> CST error 1:
>    ->  Configuration script for thorn HDF5 returned exit code 1
>       Error message: 'Error while building HDF5. Aborting.'
>
> Checking consistency...
> Creating Thorn-Flesh bindings...
>     Creating implementation bindings...
>     Creating parameter bindings...
>     Creating variable bindings...
>     Creating schedule bindings...
>     Creating function bindings...
>
>
> ------------------------------------------------------
> There was 1 error during execution of the CST
> This must be corrected before compilation can proceed
> ------------------------------------------------------
>
>
>
> ------------------------------------------------------
> Warnings were generated during execution of the CST
> ------------------------------------------------------
>
>
> CST error 1:
>    ->  Configuration script for thorn HDF5 returned exit code 1
>       Error message: 'Error while building HDF5. Aborting.'
>
> ------------------------------------------------------
>
> make[1]: *** [/Users/shawley/Cactus/configs/texmex/config-data/make.thornlist] Error 1
> make: *** [texmex] Error 2
> provision.local 19>
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at einsteintoolkit.org
> http://lists.einsteintoolkit.org/mailman/listinfo/users

-- 
Thanks for saving energy!
節電のため、ご協力をお願いいたします。


More information about the Users mailing list