Hello,
I am unable to compile the fortran bindings for parallel hdf5 with gcc
4.8.1 (works fine with gcc 4.7.3) and mvapich2.
Here is my compile configuration:
./configure --prefix=/apps/monch/hdf5/1.8.12-parallel/gcc/4.8.1/mvapich2
--enable-unsupported --enable-fortran --enable-cxx --enable-shared
--enable-production --enable-threadsafe --enable-clear-file-buffers
--enable-filters=all --enable-direct-vfd --enable-dconv-exception
--enable-dconv-accuracy --enable-hl --enable-deprecated-symbols
--enable-embedded-libinfo --with-pthread=/usr/include --enable-parallel
--with-szlib=/apps/monch/szip/intel CFLAGS=-fPIC CC=mpicc FC=mpif90
F90=mpif90 F77=mpif77 CXX=mpicxx
I am using mvapich2-1.9.
SUMMARY OF THE HDF5 CONFIGURATION
···
=================================
General Information:
-------------------
HDF5 Version: 1.8.12
Configured on: Tue Feb 25 10:45:12 CET 2014
Configured by: jtemple@monch03
Configure mode: production
Host system: x86_64-unknown-linux-gnu
Uname information: Linux monch03
2.6.32-358.11.1.el6.x86_64 #1 SMP Wed Jun 12 03:34:52 UTC 2013 x86_64
x86_64 x86_64 GNU/Linux
Byte sex: little-endian
Libraries: static, shared
Installation point:
/apps/monch/hdf5/1.8.12-parallel/gcc/4.8.1/mvapich2
Compiling Options:
------------------
Compilation Mode: production
C Compiler:
/apps/monch/mvapich2/1.9/gcc/4.8.1/bin/mpicc
CFLAGS: -fPIC
H5_CFLAGS: -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 -Wfloat-equal
-Wmissing-format-attribute -Wmissing-noreturn -Wpacked
-Wdisabled-optimization -Wformat=2 -Wunreachable-code -Wendif-labels
-Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch
-Wvariadic-macros -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-overflow=5
-Wjump-misses-init -Wunsuffixed-float-constants -Wdouble-promotion
-Wsuggest-attribute=const -Wtrampolines -Wstack-usage=8192
-Wvector-operation-performance -Wsuggest-attribute=pure
-Wsuggest-attribute=noreturn -Wsuggest-attribute=format -O3
-fomit-frame-pointer -finline-functions
AM_CFLAGS:
CPPFLAGS:
H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L -DNDEBUG
-UH5_DEBUG_API
AM_CPPFLAGS: -I/usr/include/include
-I/apps/monch/szip/intel/include -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -D_BSD_SOURCE
Shared C Library: yes
Static C Library: yes
Statically Linked Executables: no
LDFLAGS:
H5_LDFLAGS:
AM_LDFLAGS: -L/apps/monch/szip/intel/lib
-L/usr/include/lib
Extra libraries: -lpthread -lsz -lz -ldl -lm
Archiver: ar
Ranlib: ranlib
Debugged Packages:
API Tracing: no
Languages:
----------
Fortran: yes
Fortran Compiler:
/apps/monch/mvapich2/1.9/gcc/4.8.1/bin/mpif90
Fortran 2003 Compiler: no
Fortran Flags:
H5 Fortran Flags:
AM Fortran Flags:
Shared Fortran Library: yes
Static Fortran Library: yes
C++: yes
C++ Compiler:
/apps/monch/mvapich2/1.9/gcc/4.8.1/bin/mpicxx
C++ Flags:
H5 C++ Flags:
AM C++ Flags:
Shared C++ Library: yes
Static C++ Library: yes
Features:
---------
Parallel HDF5: yes
High Level library: yes
Threadsafety: yes
Default API Mapping: v18
With Deprecated Public Symbols: yes
I/O filters (external): deflate(zlib),szip(encoder)
I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset
MPE:
Direct VFD: no
dmalloc: no
Clear file buffers before write: yes
Using memory checker: no
Function Stack Tracing: no
GPFS: no
Strict File Format Checks: no
Optimization Instrumentation: no
Large File Support (LFS): yes
After successfully compiling the c bindings, the build moves onto the
fortran side of things, and bombs out with this error:
Making all in fortran
make[1]: Entering directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran'
Making all in src
make[2]: Entering directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran/src'
make all-am
make[3]: Entering directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran/src'
FCLD libhdf5_fortran.la
/usr/bin/ld: cannot find
-l-L/apps/monch/gcc/4.8.1/lib/gcc/x86_64-unknown-linux-gnu/4.8.1
collect2: error: ld returned 1 exit status
make[3]: *** [libhdf5_fortran.la] Error 1
make[3]: Leaving directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/apps/monch/src/hdf5/hdf5-1.8.12-parallel-gcc-4.8.1/fortran'
make: *** [all-recursive] Error 1
The key problem lying here:
cannot find -l-L/apps/monch/gcc/4.8.1/lib/gcc/x86_64-unknown-linux-gnu/4.8.1
It looks like something in the configure is passing a variable to
reference a gnu library, and it is returning the library path instead.
With the exact same configuration and flags, compiling with gcc-4.7.3
poses no problem and compiles successfully.
Thanks in advance for your help.
-Jason