Help with HDF 1.8.15 and MPT 2.12

HDF Forum,

I'm having a bit of an issue with HDF5 and MPT and I'm wondering if someone out there could help. Namely, something seems to be causing a fault when compiling H5lib_settings.c...or rather, H5lib_settings.c is made badly due to a "choice" on SGI's part.

To wit, I build HDF5 (with parallel enabled, so I need mpicc), and when I get to H5lib_settings.c:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo -lm | \
    sed -e 's/-L/:/g' -e 's/ //g'`" \
   ./H5make_libsettings > H5lib_settings.c || \
      (test $HDF5_Make_Ignore && echo "*** Error ignored") || \
      (rm -f H5lib_settings.c ; exit 1)
/bin/sh ../libtool --tag=CC --mode=compile mpicc -DHAVE_CONFIG_H -I. -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/zlib -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/szlib -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dir

s -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -O3 -fomit-frame-pointer -finline-functions -fPIC -MT H5lib_settings.lo -MD -MP -MF .deps/H5lib_settings.Tpo -c -o H5lib_settings.lo H5lib_settings.c

libtool: compile: mpicc -DHAVE_CONFIG_H -I. -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/zlib -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/szlib -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum

-Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -O3 -fomit-frame-pointer -finline-functions -fPIC -MT H5lib_settings.lo -MD -MP -MF .deps/H5lib_settings.Tpo -c H5lib_settings.c -o H5lib_settings.o

H5lib_settings.c:75:448: error: 'mGLOB_options_string' undeclared here (not in a function)
H5lib_settings.c:75:470: error: 'I' undeclared here (not in a function)
H5lib_settings.c:75:472: error: 'usr' undeclared here (not in a function)
H5lib_settings.c:75:476: error: 'local' undeclared here (not in a function)
H5lib_settings.c:75:482: error: 'sgi' undeclared here (not in a function)
H5lib_settings.c:75:486: error: 'mpi' undeclared here (not in a function)
H5lib_settings.c:75:490: error: 'mpt' undeclared here (not in a function)
H5lib_settings.c:75:2: warning: unsuffixed float constant [-Wunsuffixed-float-constants]
H5lib_settings.c:75:499: error: 'opt' undeclared here (not in a function)
H5lib_settings.c:75:2: warning: unsuffixed float constant [-Wunsuffixed-float-constants]
H5lib_settings.c:75:520: error: 'include' undeclared here (not in a function)
H5lib_settings.c:75:529: error: 'v' undeclared here (not in a function)
H5lib_settings.c:75:532: error: 'lm' undeclared here (not in a function)
H5lib_settings.c:75:536: error: 'L' undeclared here (not in a function)
H5lib_settings.c:75:2: warning: unsuffixed float constant [-Wunsuffixed-float-constants]
H5lib_settings.c:75:586: error: 'lib' undeclared here (not in a function)
H5lib_settings.c:75:591: error: 'lmpi' undeclared here (not in a function)
H5lib_settings.c:75:597: error: 'lpthread' undeclared here (not in a function)
H5lib_settings.c:75:605: error: expected ',' or ';' before string constant
H5lib_settings.c:101:1: warning: string length '4783' is greater than the length '4095' ISO C99 compilers are required to support [-Woverlength-strings]
make[3]: *** [H5lib_settings.lo] Error 1

Here is what mpicc becomes:

(1151) $ /usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/bin/mpicc -show
gcc -I/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/include

-L/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/lib -lmpi -lpthread
/usr/local/sgi/mpi/mpt-2.12/usr/lib64/libcpuset.so.1
/usr/local/sgi/mpi/mpt-2.12/usr/lib64/libbitmask.so.1

Now, if I move back to MPT 2.11:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo -lm | \
    sed -e 's/-L/:/g' -e 's/ //g'`" \
   ./H5make_libsettings > H5lib_settings.c || \
      (test $HDF5_Make_Ignore && echo "*** Error ignored") || \
      (rm -f H5lib_settings.c ; exit 1)
/bin/sh ../libtool --tag=CC --mode=compile mpicc -DHAVE_CONFIG_H -I. -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/zlib -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/szlib -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dir

s -Wswitch-default -Wswitch-enum -Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -O3 -fomit-frame-pointer -finline-functions -fPIC -MT H5lib_settings.lo -MD -MP -MF .deps/H5lib_settings.Tpo -c -o H5lib_settings.lo H5lib_settings.c

libtool: compile: mpicc -DHAVE_CONFIG_H -I. -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/zlib -I/discover/swdev/mathomp4/Baselibs/GMAO-Baselibs-4_1_2/x86_64-unknown-linux-gnu/ifort_15.0.2.164-mpt_2.12/Linux/include/szlib -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API -std=c99 -pedantic -Wall -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2 -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum

-Wunused-macros -Wunsafe-loop-optimizations -Wc++-compat -Wstrict-overflow -Wlogical-op -Wlarger-than=2048 -Wvla -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat -Wstrict-aliasing -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines -O3 -fomit-frame-pointer -finline-functions -fPIC -MT H5lib_settings.lo -MD -MP -MF .deps/H5lib_settings.Tpo -c H5lib_settings.c -o H5lib_settings.o

H5lib_settings.c:34:6: warning: size of 'H5libhdf5_settings' is 3962 bytes [-Wlarger-than=]
mv -f .deps/H5lib_settings.Tpo .deps/H5lib_settings.Plo

Works just fine! In this case:

(1173) $ /usr/local/sgi/mpi/mpt-2.11/opt/sgi/mpt/mpt-2.11/bin/mpicc -show
gcc -I/usr/local/sgi/mpi/mpt-2.11/opt/sgi/mpt/mpt-2.11/include -L/usr/local/sgi/mpi/mpt-2.11/opt/sgi/mpt/mpt-2.11/lib -lmpi

Hmm. I think from previous experiments/issues with this file that H5lib_settings.c is dynamically generated. I captured both the MPT 2.11 and MPT 2.12 versions and if I diff them:

(1176) $ diff ~/H5lib_settings.c.MPT211 ~/H5lib_settings.c.MPT212
41c41
< " Configured on: Mon Jul 6 13:56:33 EDT 2015\n"
---

  " Configured on: Mon Jul 6 13:54:21 EDT 2015\n"

53c53
< " C Compiler: /usr/local/sgi/mpi/mpt-2.11/opt/sgi/mpt/mpt-2.11/bin/mpicc ( built with gcc version 4.6.3 (GCC))\n"
---

  " C Compiler: /usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/bin/mpicc ( built with gcc version 4.6.3 (GCC))\n"

75c75
< " Fortran Compiler: /usr/local/sgi/mpi/mpt-2.11/opt/sgi/mpt/mpt-2.11/bin/mpif90 ( built with ifort version 15.0.2)\n"
---

" Fortran Compiler:

/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/bin/mpif90 ( built with
ifort version 15.0.2
/usr/local/intel/Composer/composer_xe_2015.2.164/bin/intel64/fortcom
-mP1OPT_version=15.0-intel64 -mGLOB_diag_file=limf_added.diag
-mGLOB_source_language=GLOB_SOURCE_LANGUAGE_F90 -mP2OPT_static_promotion
-mP1OPT_print_version=FALSE -mCG_use_gas_got_workaround=F
-mP2OPT_align_option_used=TRUE -mGLOB_gcc_version=463
"-mGLOB_options_string=-I/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/include
-v -lm -L/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/lib -lmpi
-lpthread" -mGLOB_cxx_limited_range=FALSE -mCG_extend_parms=FALSE
-mGLOB_compiler_bin_directory=/usr/local/intel/Composer/composer_xe_2015.2.164/bin/intel64
-mGLOB_as_output_backup_file_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortI4wcgRas_.s
-mIPOPT_activate -mGLOB_em64t -mGLOB_product_id_code=0x22006d8f
-mP3OPT_use_mspp_call_convention -mP2OPT_subs_out_of_bound=FALSE
-mGLOB_ansi_alias -mPGOPTI_value_profile_use=T
-mGLOB_opt_report_use_source_name -mP2OPT_il0_array_sections=TRUE
-mGLOB_offload_mode=1
-mP2OPT_offload_unique_var_string=ifort010645762529RWDw61 -mP2OPT_hlo
-mP2OPT_hpo_rtt_control=0 -mIPOPT_args_in_regs=0
-mP2OPT_disam_assume_nonstd_intent_in=FALSE
-mGLOB_imf_mapping_library=/usr/local/intel/Composer/composer_xe_2015.2.164/bin/intel64/libiml_attr.so
-mPGOPTI_gen_threadsafe_level=0 -mIPOPT_link -mIPOPT_ipo_activate
-mIPOPT_mo_activate
-mIPOPT_source_files_list=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortslis9I1X5k
-mIPOPT_mo_global_data
-mIPOPT_link_script_file=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortscripts5gdOv
"-mIPOPT_cmdline_link="/usr/lib/../lib64/crt1.o"
"/usr/lib/../lib64/crti.o"
"/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/crtbegin.o"
"--eh-frame-hdr" "--build-id" "-dynamic-linker"
"/lib64/ld-linux-x86-64.so.2" "-m" "elf_x86_64"
"-L/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/lib" "-o" "a.out"
"/usr/local/intel/Composer/composer_xe_2015.2.164/compiler/lib/intel64/for_main.o"
"-L/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/lib"
"-L/usr/local/other/SLES11.1/R/3.1.2/gcc-4.3.4/lib64/R/library"
"-L/usr/local/other/SLES11.1/git/1.8.5.2/lib"
"-L/usr/local/other/SLES11/svn/1.6.17/lib"
"-L/usr/local/other/SLES11/tkcvs/8.2.3/gcc-4.3.2/lib"
"-L/usr/local/other/SLES11/SIVO-PyD/1.20.0_gcc4.6.3-sp1_mkl15.0.0.090/lib"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib64"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/compiler/lib/intel64" "-L/usr/local/intel/Composer/composer_xe_2015.2.164/ipp/lib/intel64"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/mkl/lib/intel64"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.1"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/compiler/lib/intel64" "-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib64/../lib64"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib64/../lib64/"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../lib64"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../lib64/"
"-L/lib/../lib64" "-L/lib/../lib64/" "-L/usr/lib/../lib64"
"-L/usr/lib/../lib64/"
"-L/usr/local/sgi/mpi/mpt-2.12/opt/sgi/mpt/mpt-2.12/lib/"
"-L/usr/local/other/SLES11.1/R/3.1.2/gcc-4.3.4/lib64/R/library/"
"-L/usr/local/other/SLES11.1/git/1.8.5.2/lib/"
"-L/usr/local/other/SLES11/svn/1.6.17/lib/"
"-L/usr/local/other/SLES11/tkcvs/8.2.3/gcc-4.3.2/lib/"
"-L/usr/local/other/SLES11/SIVO-PyD/1.20.0_gcc4.6.3-sp1_mkl15.0.0.090/lib/"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib64"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib64/"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/compiler/lib/intel64/"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/ipp/lib/intel64/"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/mkl/lib/intel64/"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.1/"
"-L/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../"
"-L/lib64" "-L/lib/" "-L/usr/lib64" "-L/usr/lib"
"-L/usr/local/intel/Composer/composer_xe_2015.2.164/compiler/lib/intel64" "-Bstatic"
"-limf" "-Bdynamic" "-lm" "-lmpi" "-lpthread"
"/usr/local/sgi/mpi/mpt-2.12/usr/lib64/libcpuset.so.1"
"/usr/local/sgi/mpi/mpt-2.12/usr/lib64/libbitmask.so.1" "-Bdynamic"
"-Bstatic" "-lifport" "-lifcore" "-limf" "-lsvml" "-Bdynamic" "-lm"
"-Bstatic" "-lipgo" "-lirc" "-Bdynamic" "-lpthread" "-Bstatic" "-lsvml"
"-Bdynamic" "-lc" "-lgcc" "-lgcc_s" "-Bstatic" "-lirc_s" "-Bdynamic"
"-ldl" "-lc"
"/gpfsm/dnb32/mbhat/GCC/install/gcc-4.6.3/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/crtend.o"
"/usr/lib/../lib64/crtn.o"" -mIPOPT_il_in_obj
-mIPOPT_ipo_activate_warn=FALSE
-mIPOPT_obj_output_file_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ipo_ifortLzJ4Oi.o
-mIPOPT_whole_archive_fixup_file_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortwarchlxacmq
-mGLOB_linker_version=2.23.1 -mGLOB_long_size_64
-mGLOB_routine_pointer_size_64
-mGLOB_driver_tempfile_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/iforttempfileSb6zcB
-mP3OPT_asm_target=P3OPT_ASM_TARGET_GAS -mGLOB_async_unwind_tables=TRUE
-mGLOB_obj_output_file=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ipo_ifortLzJ4Oi.o
-mGLOB_source_dialect=GLOB_SOURCE_DIALECT_NONE
-mP1OPT_source_file_name=ipo_out.f -mP2OPT_symtab_type_copy=true
-mIPOPT_object_files=T
-mIPOPT_assembly_files=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortalishdlgfE
-mIPOPT_generated_tempfiles=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortelisYRLoXO
-mIPOPT_embedded_object_base_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/iforteobjT3OyFZ
-mIPOPT_cmdline_link_new_name=/gpfsm/dnb02/tdirs/login/discover06.29179.mathomp4/ifortlliscECKna)\n"

Um. That's...different.

Obviously having the two extra .so libraries in the mpif90 call is breaking "mpif90 -v" which is "ifort -v" and now it's doing "ifort -v file.so" which is then breaking the dynamic settings build.

Any ideas?

Matt

···

--
Matt Thompson SSAI, Sr Software Test Engr
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246