Closed shahzebsiddiqui closed 7 years ago
You should try and figure out how/where libbat.so is being picked up, and try and make it also link against -lm
to resolve the math symbols?
I know exactly how libbat.so is picked up. I add LSF_LIBDIR as part of OpenMPI module. We have LSF sourced as part of startup and it is installed in a non-standard path. The file profile.lsf setups the environment including the LSF environment variables (see below)
Password: Last login: Mon Mar 20 12:10:10 2017 from 10.42.76.56 [hpcswadm@amrndhl1157 ~]$ env | grep LSF LSF_SERVERDIR=/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/etc LSF_LIBDIR=/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib LSF_BINDIR=/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/bin LSF_ENVDIR=/hpc/grid/lsfhpc1p/conf
We found that LSF_LIBDIR needs to be added to LD_LIBRARY_PATH since it's in a non-standard path in order for ompi_info to work according to https://www.open-mpi.org/faq/?category=building#build-rte-lsf
If LSF library is not set in LD_LIBRARY_PATH you will get the following error Currently Loaded Modules: 1) EasyBuild/3.1.1 3) binutils/.2.27 5) numactl/2.0.11 7) OpenMPI/2.0.0 2) GCCcore/.5.4.0 4) GCC/5.4.0-2.27 6) hwloc/1.11.3
[hpcswadm@amrndhl1157 Anaconda2]$ ompi_info ompi_info: error while loading shared libraries: libbat.so: cannot open shared object file: No such file or directory
[hpcswadm@amrndhl1157 Anaconda2]$ echo $LSF_LIBDIR /hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib [hpcswadm@amrndhl1157 ~]$ export LD_LIBRARY_PATH=$LSF_LIBDIR:$LD_LIBRARY_PATH [hpcswadm@amrndhl1157 ~]$ echo $LD_LIBRARY_PATH /hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib:/nfs/grid/software/testing/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/lib:/nfs/grid/software/testing/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/hwloc/1.11.3/lib:/nfs/grid/software/testing/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/numactl/2.0.11/lib:/nfs/grid/software/testing/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.27/lib:/nfs/grid/software/testing/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/gcc/x86_64-unknown-linux-gnu/5.4.0:/nfs/grid/software/testing/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib64:/nfs/grid/software/testing/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib
[hpcswadm@amrndhl1157 ~]$ ompi_info | grep lsf MCA ess: lsf (MCA v2.1.0, API v3.0.0, Component v2.0.0) MCA plm: lsf (MCA v2.1.0, API v2.0.0, Component v2.0.0) MCA ras: lsf (MCA v2.1.0, API v2.0.0, Component v2.0.0)
I add the LSF path to my easyconfig, please see. I figure this would work best in module environment and having to avoid setting LD_LIBRARY_PATH as part of startup script which is not good idea.
@shahzebsiddiqui Well, apparently libblat.so
requires -lm
in order to link properly, so you'll need to get that included in the linker flags...
Maybe something like export LIBS="-lm $LIBS"
or export LDFLAGS="-lm $LDFLAGS"
(which you could do via the OpenMPI module) would do it, but I'm not sure that's the best way...
Can I pass this as a parameter in HDF5 easyconfig file. I don't think it would be a good idea to do this in OpenMPI module because that would be only needed for exception cases like HDF5.
can I pass the LDFLAGS via buildopts in easyconfig?
I am curious why HDF5 worked for me on a system that doesn't have LSF sourced, while the system that has this sourced causes an issue. I do set LSF_LIBDIR in my LD_LIBRARY_PATH for my OpenMPI module and I had no issues on a system without LSF. In fact, i recall GROMACS build with foss didn't go through when OpenMPI did not have libbat.so in LD_LIBRARY_PATH.
On Tue, Mar 21, 2017 at 5:11 AM, Kenneth Hoste notifications@github.com wrote:
@shahzebsiddiqui https://github.com/shahzebsiddiqui Well, apparently libblat.so requires -lm in order to link properly, so you'll need to get that included in the linker flags...
Maybe something like export LIBS="-lm $LIBS" or export LDFLAGS="-lm $LDFLAGS" (which you could do via the OpenMPI module) would do it, but I'm not sure that's the best way...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hpcugent/easybuild-easyconfigs/issues/4377#issuecomment-288017958, or mute the thread https://github.com/notifications/unsubscribe-auth/AMV7lkfDNIQE3Z5Z_vX729uM5pIns92Qks5rn5Q0gaJpZM4MioLt .
@shahzebsiddiqui The problem only occurs when you are specifying that libblat.so
should also be linked.
You should be able to convince EasyBuild to also link in -lm
via buildopts
in the HDF5 easyconfig file, yes.
Hey Ken,
I tried to add the LDFLAGS parameter and it still did not work. I tried to do add it as part of buildopts and preconfigopts both of them didn't work. I am puzzled with this error, I have tried both version 1.8.17 and 1.8.18 to see if the problem is resolved but it didn't
[hpcswadm@amrndhl1157 HDF5]$ eb HDF5-1.8.16-foss-2016.03.eb
== temporary log file in case of crash /dev/shm/tmp/eb-_8jmzS/easybuild-zTL8tJ.log
== processing EasyBuild easyconfig /hpc/hpcswadm/easybuild/HDF5/HDF5-1.8.16-foss-2016.03.eb
== building and installing MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/HDF5/1.8.16...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== FAILED: Installation ended unsuccessfully (build directory: /dev/shm/easybuild/build/HDF5/1.8.16/foss-2016.03): build failed (first 300 chars): cmd " make -j 80 CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" LDFLAGS="-lm $LDFLAGS" FC="mpifort" " exited with exitcode 2 and output:
Making all in src
make[1]: Entering directory `/dev/shm/easybuild/build/HDF5/1.8.16/foss-2016.03/hdf5-1.8.16/src'
make all-am
make[2]: Entering directory `/dev/shm/
== Results of the build can be found in the log file(s) /dev/shm/tmp/eb-_8jmzS/easybuild-HDF5-1.8.16-20170327.211942.NQUxB.log
ERROR: Build of /hpc/hpcswadm/easybuild/HDF5/HDF5-1.8.16-foss-2016.03.eb failed (err: 'build failed (first 300 chars): cmd " make -j 80 CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" LDFLAGS="-lm $LDFLAGS" FC="mpifort" " exited with exitcode 2 and output:\nMaking all in src\nmake[1]: Entering directory `/dev/shm/easybuild/build/HDF5/1.8.16/foss-2016.03/hdf5-1.8.16/src\'\nmake all-am\nmake[2]: Entering directory `/dev/shm/')
I checked the make file in /dev/shm/easybuild/build/HDF5/1.8.16/foss-2016.03/hdf5-1.8.16/src to see LDFLAGS and it is set accordingly, I don't think its set there but i notice LIBS has it set automatically.
Please see log file easybuild-HDF5-1.8.16-20170327.211942.NQUxB.txt
name = 'HDF5'
version = '1.8.16'
homepage = 'http://www.hdfgroup.org/HDF5/'
description = """HDF5 is a unique technology suite that makes possible the management of
extremely large and complex data collections."""
toolchain = {'name': 'foss', 'version': '2016.03'}
toolchainopts = {'optarch': True, 'pic': True, 'usempi': True}
source_urls = ['http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version)s/src']
sources = [SOURCELOWER_TAR_GZ]
patches = [
'HDF5-1.8.15_configure_intel.patch',
'configure_libtool.patch',
]
buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" LDFLAGS="-lm $LDFLAGS"'
dependencies = [
('Szip', '2.1'),
('zlib','1.2.8'),
]
moduleclass = 'data'
When I disable LSF library from LD_LIBRARY_PATH, I am running into this issue. Can I get some assistance on this.
It seems to not compile any C program now.
checking for config linux-gnu... found
compiler 'mpicc' is GNU gcc-5.4.0
checking for config ./config/site-specific/host-amrndhl1157.pfizer.com... no
checking for config ./config/site-specific/host-pfizer.com... no
checking for config ./config/site-specific/host-com... no
checking for gcc... 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... configure: error: in `/dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
(at easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_framework-3.1.2-py2.7.egg/easybuild/tools/run.py:449 in parse_cmd_output)
== 2017-03-30 13:32:49,905 easyblock.py:2518 WARNING build failed (first 300 chars): cmd " ./configure --prefix=/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/HDF5/1.8.18 --with-szlib=/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1 --with-zlib=/nfs/grid/software/RHEL7/easybuild/software/Core/zlib/1.2.8 --with-pic
== 2017-03-30 13:32:49,905 easyblock.py:276 INFO Closing log for application name HDF5 version 1.8.18
I think the order in your buildopts for HDF5 should be reversed:
buildopts = 'CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" LDFLAGS="$LDFLAGS -lm"'
I also see you're using an intel patch in the easyconfig, which may be unnecessary (and may even break stuff...though probably not since it's already in the repo).
Why aren't you working off of https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/h/HDF5/HDF5-1.8.18-foss-2016b.eb ?
So, I tried to build HDF5 in a different moduletree with foss-2016b and I ran into the error with "--host" during the configure step for HDF5. This is the same error I ran into when I removed LSF_LIBDIR from LD_LIBRARY_PATH from OpenMPI. It seems like OpenMPI can't compile a simple C program.
Will I need to pass --host option in HDF5 easyconfig? I expected this the build to work without any changes but seems like it might be an environment issue as well.
[hpcswadm@amrndhl1157 ~]$ eb HDF5-1.8.17-foss-2016b.eb --robot --installpath=/dev/shm/apps
== temporary log file in case of crash /dev/shm/tmp/eb-gD0XDz/easybuild-1p3Vg8.log
== resolving dependencies ...
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/g/GCCcore/GCCcore-5.4.0.eb
== building and installing Core/GCCcore/.5.4.0...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Core/GCCcore/5.4.0/easybuild/easybuild-GCCcore-5.4.0-20170331.084530.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb
== building and installing Compiler/GCCcore/5.4.0/M4/.1.4.17...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCCcore/5.4.0/M4/1.4.17/easybuild/easybuild-M4-1.4.17-20170331.084556.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb
== building and installing Compiler/GCCcore/5.4.0/Bison/.3.0.4...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCCcore/5.4.0/Bison/3.0.4/easybuild/easybuild-Bison-3.0.4-20170331.084629.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/f/flex/flex-2.6.0-GCCcore-5.4.0.eb
== building and installing Compiler/GCCcore/5.4.0/flex/.2.6.0...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCCcore/5.4.0/flex/2.6.0/easybuild/easybuild-flex-2.6.0-20170331.084640.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb
== building and installing Compiler/GCCcore/5.4.0/zlib/.1.2.8...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/easybuild/easybuild-zlib-1.2.8-20170331.084644.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.4.0.eb
== building and installing Compiler/GCCcore/5.4.0/binutils/.2.26...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCCcore/5.4.0/binutils/2.26/easybuild/easybuild-binutils-2.26-20170331.084740.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/g/GCC/GCC-5.4.0-2.26.eb
== building and installing Core/GCC/5.4.0-2.26...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Core/GCC/5.4.0-2.26/easybuild/easybuild-GCC-5.4.0-20170331.084742.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.2.18-GCC-5.4.0-2.26-LAPACK-3.6.1.eb
== building and installing Compiler/GCC/5.4.0-2.26/OpenBLAS/0.2.18-LAPACK-3.6.1...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring [skipped]
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCC/5.4.0-2.26/OpenBLAS/0.2.18-LAPACK-3.6.1/easybuild/easybuild-OpenBLAS-0.2.18-20170331.084824.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/n/numactl/numactl-2.0.11-GCC-5.4.0-2.26.eb
== building and installing Compiler/GCC/5.4.0-2.26/numactl/2.0.11...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCC/5.4.0-2.26/numactl/2.0.11/easybuild/easybuild-numactl-2.0.11-20170331.084831.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/h/hwloc/hwloc-1.11.3-GCC-5.4.0-2.26.eb
== building and installing Compiler/GCC/5.4.0-2.26/hwloc/1.11.3...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCC/5.4.0-2.26/hwloc/1.11.3/easybuild/easybuild-hwloc-1.11.3-20170331.084851.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/o/OpenMPI/OpenMPI-1.10.3-GCC-5.4.0-2.26.eb
== building and installing Compiler/GCC/5.4.0-2.26/OpenMPI/1.10.3...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Compiler/GCC/5.4.0-2.26/OpenMPI/1.10.3/easybuild/easybuild-OpenMPI-1.10.3-20170331.091200.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/g/gompi/gompi-2016b.eb
== building and installing Core/gompi/.2016b...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Core/gompi/2016b/easybuild/easybuild-gompi-2016b-20170331.091202.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/f/FFTW/FFTW-3.3.4-gompi-2016b.eb
== building and installing MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/FFTW/3.3.4...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/FFTW/3.3.4/easybuild/easybuild-FFTW-3.3.4-20170331.091333.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.0.2-gompi-2016b-OpenBLAS-0.2.18-LAPACK-3.6.1.eb
== building and installing MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/ScaLAPACK/2.0.2-OpenBLAS-0.2.18-LAPACK-3.6.1...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/ScaLAPACK/2.0.2-OpenBLAS-0.2.18-LAPACK-3.6.1/easybuild/easybuild-ScaLAPACK-2.0.2-20170331.091714.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/f/foss/foss-2016b.eb
== building and installing Core/foss/.2016b...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/Core/foss/2016b/easybuild/easybuild-foss-2016b-20170331.091716.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/z/zlib/zlib-1.2.8-foss-2016b.eb
== building and installing MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/zlib/.1.2.8...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/zlib/1.2.8/easybuild/easybuild-zlib-1.2.8-20170331.091724.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/s/Szip/Szip-2.1-foss-2016b.eb
== building and installing MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/Szip/.2.1...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== packaging...
== COMPLETED: Installation ended successfully
== Results of the build can be found in the log file(s) /dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/Szip/2.1/easybuild/easybuild-Szip-2.1-20170331.091739.log
== processing EasyBuild easyconfig /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/h/HDF5/HDF5-1.8.17-foss-2016b.eb
== building and installing MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/HDF5/1.8.17...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== FAILED: Installation ended unsuccessfully (build directory: /dev/shm/easybuild/build/HDF5/1.8.17/foss-2016b): build failed (first 300 chars): cmd " ./configure --prefix=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/HDF5/1.8.17 --with-szlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/Szip/2.1 --with-zlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/zlib/1.2.8 --with-pic --with-pthread --enable-shared
== Results of the build can be found in the log file(s) /dev/shm/tmp/eb-UOMJ6U/easybuild-HDF5-1.8.17-20170331.091739.Knnse.log
ERROR: Build of /nfs/grid/software/RHEL7-BUILD/easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.1.2-py2.7.egg/easybuild/easyconfigs/h/HDF5/HDF5-1.8.17-foss-2016b.eb failed (err: 'build failed (first 300 chars): cmd " ./configure --prefix=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/HDF5/1.8.17 --with-szlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/Szip/2.1 --with-zlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/zlib/1.2.8 --with-pic --with-pthread --enable-shared ')
[hpcswadm@amrndhl1157 ~]$ tail -n 15 /dev/shm/tmp/eb-UOMJ6U/easybuild-HDF5-1.8.17-20170331.091739.Knnse.log
compiler 'mpicc' is GNU gcc-5.4.0
checking for config ./config/site-specific/host-amrndhl1157.pfizer.com... no
checking for config ./config/site-specific/host-pfizer.com... no
checking for config ./config/site-specific/host-com... no
checking for gcc... 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... configure: error: in `/dev/shm/easybuild/build/HDF5/1.8.17/foss-2016b/hdf5-1.8.17':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
(at easybuild/software/EasyBuild/3.1.2/lib/python2.7/site-packages/easybuild_framework-3.1.2-py2.7.egg/easybuild/tools/run.py:449 in parse_cmd_output)
== 2017-03-31 09:17:52,269 easyblock.py:2518 WARNING build failed (first 300 chars): cmd " ./configure --prefix=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/HDF5/1.8.17 --with-szlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/Szip/2.1 --with-zlib=/dev/shm/apps/software/MPI/GCC/5.4.0-2.26/OpenMPI/1.10.3/zlib/1.2.8 --with-pic --with-pthread --enable-shared
== 2017-03-31 09:17:52,269 easyblock.py:276 INFO Closing log for application name HDF5 version 1.8.17
It says it can't run a compiled program, I suspect if you take a look at the config.log in
/dev/shm/easybuild/build/HDF5/1.8.17/foss-2016b/hdf5-1.8.17
you'll see that it tries to run a sample code and fails. The question is how does it try to run it, if it uses mpirun and that is failing then you should be able to reproduce this problem with a simple Hello world!
MPI code. Compiling OpenMPI with LSF support probably dances around the problem of running the code (mpirun from OpenMPI will talk properly to LSF).
Can you successfully run mpirun -np 3 a.out
with your build of foss? That's basically what HDF5 does from a bit of googling. If you want to check how to influence how HDF5 runs its parallel test then take a look at ./configure --help
or the config.in
file.
I am pretty sure mpi is working correctly, I did the test as you said. I have built other tools with foss toolchain so if mpicc was not working I wouldn't have got this far in my builds.
[hpcswadm@amrndhl1157 source]$ mpicc --version
gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[hpcswadm@amrndhl1157 source]$ ml
Currently Loaded Modules:
1) EasyBuild/3.1.2 4) numactl/2.0.11 7) binutils/.2.27 10) ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.0
2) GCCcore/.5.4.0 5) hwloc/1.11.3 8) OpenBLAS/0.2.19-LAPACK-3.6.0 11) foss/.2016.03
3) GCC/5.4.0-2.27 6) OpenMPI/2.0.0 9) FFTW/3.3.4
[hpcswadm@amrndhl1157 source]$ mpicc hello.c
[hpcswadm@amrndhl1157 source]$ mpirun -np 4 ./a.out
Hello world from processor amrndhl1157.pfizer.com, rank 0 out of 4 processors
Hello world from processor amrndhl1157.pfizer.com, rank 1 out of 4 processors
Hello world from processor amrndhl1157.pfizer.com, rank 2 out of 4 processors
Hello world from processor amrndhl1157.pfizer.com, rank 3 out of 4 processors
Going back to original issue in first post, I am now trying to build the makefile manually and this is the result
[hpcswadm@amrndhl1157 test]$ make
CXXLD testhdf5
/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'pow'
/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'ceil'
/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'log'
collect2: error: ld returned 1 exit status
make: *** [testhdf5] Error 1
[hpcswadm@amrndhl1157 test]$ pwd
/dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/c++/test
This is the content of the makefile
# Makefile.in generated by automake 1.15 from Makefile.am.
# c++/test/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# HDF5-C++ Makefile(.in)
#
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/hdf5
pkgincludedir = $(includedir)/hdf5
pkglibdir = $(libdir)/hdf5
pkglibexecdir = $(libexecdir)/hdf5
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-unknown-linux-gnu
host_triplet = x86_64-unknown-linux-gnu
check_PROGRAMS = $(am__EXEEXT_1)
TESTS = $(am__EXEEXT_1)
subdir = c++/test
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
$(top_srcdir)/m4/aclocal_fc.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES = H5srcdir_str.h
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = testhdf5$(EXEEXT)
am_testhdf5_OBJECTS = testhdf5.$(OBJEXT) dsets.$(OBJEXT) \
tattr.$(OBJEXT) tarray.$(OBJEXT) tcompound.$(OBJEXT) \
tdspl.$(OBJEXT) tfile.$(OBJEXT) tfilter.$(OBJEXT) \
th5s.$(OBJEXT) tlinks.$(OBJEXT) tobject.$(OBJEXT) \
trefer.$(OBJEXT) ttypes.$(OBJEXT) tvlstr.$(OBJEXT) \
h5cpputil.$(OBJEXT)
testhdf5_OBJECTS = $(am_testhdf5_OBJECTS)
testhdf5_LDADD = $(LDADD)
testhdf5_DEPENDENCIES = $(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am__v_lt_1 =
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I. -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_$(V))
am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_$(V))
am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(testhdf5_SOURCES)
DIST_SOURCES = $(testhdf5_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = { \
$(am__tty_colors_dummy); \
if test "X$(AM_COLOR_TESTS)" = Xno; then \
am__color_tests=no; \
elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
am__color_tests=yes; \
elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
am__color_tests=yes; \
fi; \
if test $$am__color_tests = yes; then \
red=''; \
grn=''; \
lgn=''; \
blu=''; \
mgn=''; \
brg=''; \
std=''; \
fi; \
}
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__recheck_rx = ^[ ]*:recheck:[ ]*
am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
# A command that, given a newline-separated list of test names on the
# standard input, print the name of the tests that are to be re-run
# upon "make recheck".
am__list_recheck_tests = $(AWK) '{ \
recheck = 1; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
{ \
if ((getline line2 < ($$0 ".log")) < 0) \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
{ \
recheck = 0; \
break; \
} \
else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
{ \
break; \
} \
}; \
if (recheck) \
print $$0; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# A command that, given a newline-separated list of test names on the
# standard input, create the global log from their .trs and .log files.
am__create_global_log = $(AWK) ' \
function fatal(msg) \
{ \
print "fatal: making $@: " msg | "cat >&2"; \
exit 1; \
} \
function rst_section(header) \
{ \
print header; \
len = length(header); \
for (i = 1; i <= len; i = i + 1) \
printf "="; \
printf "\n\n"; \
} \
{ \
copy_in_global_log = 1; \
global_test_result = "RUN"; \
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".trs"); \
if (line ~ /$(am__global_test_result_rx)/) \
{ \
sub("$(am__global_test_result_rx)", "", line); \
sub("[ ]*$$", "", line); \
global_test_result = line; \
} \
else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
copy_in_global_log = 0; \
}; \
if (copy_in_global_log) \
{ \
rst_section(global_test_result ": " $$0); \
while ((rc = (getline line < ($$0 ".log"))) != 0) \
{ \
if (rc < 0) \
fatal("failed to read from " $$0 ".log"); \
print line; \
}; \
printf "\n"; \
}; \
close ($$0 ".trs"); \
close ($$0 ".log"); \
}'
# Restructured Text title.
am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# Default flags passed to test drivers.
am__common_driver_flags = \
--color-tests "$$am__color_tests" \
--enable-hard-errors "$$am__enable_hard_errors" \
--expect-failure "$$am__expect_failure"
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
# will run the test scripts (or their associated LOG_COMPILER, if
# thy have one).
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
$(am__tty_colors); \
srcdir=$(srcdir); export srcdir; \
case "$@" in \
*/*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
*) am__odir=.;; \
esac; \
test "x$$am__odir" = x"." || test -d "$$am__odir" \
|| $(MKDIR_P) "$$am__odir" || exit $$?; \
if test -f "./$$f"; then dir=./; \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; \
if test -n '$(DISABLE_HARD_ERRORS)'; then \
am__enable_hard_errors=no; \
else \
am__enable_hard_errors=yes; \
fi; \
case " $(XFAIL_TESTS) " in \
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
am__expect_failure=yes;; \
*) \
am__expect_failure=no;; \
esac; \
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
# A shell command to get the names of the tests scripts with any registered
# extension removed (i.e., equivalently, the names of the test logs, with
# the '.log' extension removed). The result is saved in the shell variable
# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
# since that might cause problem with VPATH rewrites for suffix-less tests.
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
am__set_TESTS_bases = \
bases='$(TEST_LOGS)'; \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
LOG_DRIVER = $(SHELL) $(top_srcdir)/bin/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
case '$@' in \
*/*) \
case '$*' in \
*/*) b='$*';; \
*) b=`echo '$@' | sed 's/\.log$$//'`; \
esac;; \
*) \
b='$*';; \
esac
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:.log=.log)
TEST_LOGS = $(am__test_logs2:.sh.log=.log)
SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/bin/test-driver
SH_LOG_COMPILE = $(SH_LOG_COMPILER) $(AM_SH_LOG_FLAGS) $(SH_LOG_FLAGS)
am__DIST_COMMON = $(srcdir)/H5srcdir_str.h.in $(srcdir)/Makefile.in \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/test-driver $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/missing aclocal-1.15
ADD_PARALLEL_FILES = yes
AMTAR = $${TAR-tar}
# H5_CFLAGS holds flags that should be used when building hdf5,
# but which should not be exported to h5cc for building other programs.
# AM_CFLAGS is an automake construct which should be used by Makefiles
# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
AM_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 -Wdate-time -Wopenmp-simd -Warray-bounds=2 -Wc99-c11-compat -O3 -fstdarg-opt
# Include src, test, and c++/src directories
AM_CPPFLAGS = -I/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/include -I/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/include -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API -I$(top_srcdir)/src \
-I$(top_srcdir)/test -I$(top_srcdir)/c++/src
AM_CXXFLAGS =
AM_DEFAULT_VERBOSITY = 0
AM_FCFLAGS =
AM_LDFLAGS = -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/lib
AM_MAKEFLAGS =
AR = ar
AUTOCONF = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/missing autoconf
AUTOHEADER = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/missing autoheader
AUTOMAKE = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/missing automake-1.15
AWK = gawk
BYTESEX = little-endian
CC = mpicc
CCDEPMODE = depmode=gcc3
CC_VERSION = /nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/bin/mpicc ( built with gcc version 5.4.0 (GCC))
CFLAGS = -O2 -march=native -fPIC
CLEARFILEBUF = yes
CODESTACK = no
CONFIG_DATE = Thu Mar 30 15:08:16 EDT 2017
CONFIG_MODE = production
CONFIG_USER = hpcswadm@amrndhl1157.pfizer.com
CPP = mpicc -E
CPPFLAGS = -I/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/OpenBLAS/0.2.19-LAPACK-3.6.0/include -I/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.0/include -I/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/FFTW/3.3.4/include -I/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/include -I/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/include
CXX = mpicxx
CXXCPP = mpicxx -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -O2 -march=native -fPIC
CXX_VERSION = /nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/bin/mpicxx ( built with gcc version 5.4.0 (GCC))
CYGPATH_W = echo
DEBUG_PKG =
DEFAULT_API_VERSION = v18
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DEPRECATED_SYMBOLS = yes
DIRECT_VFD = no
DLLTOOL = false
DSYMUTIL =
DUMPBIN =
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
EXTERNAL_FILTERS = deflate(zlib),szip(encoder)
# Make sure that these variables are exported to the Makefiles
F9XMODEXT = mod
F9XMODFLAG = -I
F9XSUFFIXFLAG =
FC = mpifort
FC2003 =
FCFLAGS = -O2 -march=native -fPIC
FCFLAGS_f90 =
FCLIBS = -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib64 -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/OpenBLAS/0.2.19-LAPACK-3.6.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/FFTW/3.3.4/lib -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/lib -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/hwloc/1.11.3/lib -L/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib64/../lib64 -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/../lib64 -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/gcc/x86_64-unknown-linux-gnu/5.4.0 -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/numactl/2.0.11/lib -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.27/lib -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../.. -lgfortran -lm -lpthread -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lquadmath
FC_VERSION = /nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/bin/mpifort
FGREP = /bin/grep -F
FSEARCH_DIRS =
GREP = /bin/grep
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 -Wdate-time -Wopenmp-simd -Warray-bounds=2 -Wc99-c11-compat -O3 -fstdarg-opt
H5_CPPFLAGS = -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -DNDEBUG -UH5_DEBUG_API
H5_CXXFLAGS =
H5_FCFLAGS =
H5_FORTRAN_SHARED = yes
H5_LDFLAGS =
H5_VERSION = 1.8.18
HADDR_T =
HAVE_DMALLOC = no
HAVE_FORTRAN_2003 =
HAVE_PTHREAD =
HDF5_HL = yes
HDF5_INTERFACES = fortran c++
HDF_CXX = yes
HDF_FORTRAN = yes
HDF_FORTRAN2003 = no
HID_T =
HL = hl
HL_FOR =
HSIZE_T =
HSSIZE_T =
INSTALL = /bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
INSTRUMENT = no
INSTRUMENT_LIBRARY = no
LD = /nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.27/bin/ld -m elf_x86_64
LDFLAGS = -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib64 -L/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/OpenBLAS/0.2.19-LAPACK-3.6.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.0/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/FFTW/3.3.4/lib -L/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/lib -L/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/lib
LIBOBJS =
LIBS = -lsz -lz -ldl -lm -lm -lpthread
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIPO =
LL_PATH = /nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/lib:/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/Szip/2.1/lib:/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/zlib/1.2.8/lib:/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/ScaLAPACK/2.0.2-OpenBLAS-0.2.19-LAPACK-3.6.0/lib:/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/FFTW/3.3.4/lib:/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/OpenBLAS/0.2.19-LAPACK-3.6.0/lib:/hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib:/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/OpenMPI/2.0.0/lib:/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/hwloc/1.11.3/lib:/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCC/5.4.0-2.27/numactl/2.0.11/lib:/nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.27/lib:/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib/gcc/x86_64-unknown-linux-gnu/5.4.0:/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib64:/nfs/grid/software/RHEL7/easybuild/software/Core/GCCcore/5.4.0/lib
LN_S = ln -s
LTLIBOBJS =
LT_STATIC_EXEC =
LT_SYS_LIBRARY_PATH =
MAINT = #
MAKEINFO = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/missing makeinfo
MANIFEST_TOOL = :
MKDIR_P = /bin/mkdir -p
MPE =
NM = /nfs/grid/software/RHEL7/easybuild/software/Compiler/GCCcore/5.4.0/binutils/2.27/bin/nm -B
NMEDIT =
OBJDUMP = objdump
OBJECT_NAMELEN_DEFAULT_F =
OBJEXT = o
OTOOL =
OTOOL64 =
PACKAGE = hdf5
PACKAGE_BUGREPORT = help@hdfgroup.org
PACKAGE_NAME = HDF5
PACKAGE_STRING = HDF5 1.8.18
PACKAGE_TARNAME = hdf5
PACKAGE_URL =
PACKAGE_VERSION = 1.8.18
PARALLEL = yes
PATH_SEPARATOR = :
PERL = perl
RANLIB = ranlib
ROOT = /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18
RUNPARALLEL = mpirun -np \$\${NPROCS:=2}
RUNSERIAL =
R_INTEGER =
R_LARGE =
SEARCH = $(srcdir) $(top_builddir)/src $(top_srcdir)/src
SED = /bin/sed
SET_MAKE =
SHELL = /bin/sh
SIZE_T =
STATIC_EXEC = no
STATIC_SHARED = static, shared
STRICT_FORMAT_CHECKS = no
STRIP = strip
TESTPARALLEL = testpar
THREADSAFE = no
TIME = time
TR = /bin/tr
TRACE_API = no
UNAME_INFO = Linux amrndhl1157.pfizer.com 3.10.0-327.36.1.el7.x86_64 #1 SMP Wed Aug 17 03:02:37 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
USE_FILTER_DEFLATE = yes
USE_FILTER_SZIP = yes
USINGMEMCHECKER = no
VERSION = 1.8.18
WORDS_BIGENDIAN = no
abs_builddir = /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/c++/test
abs_srcdir = /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/c++/test
abs_top_builddir = /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18
abs_top_srcdir = /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18
ac_ct_AR =
ac_ct_CC = mpicc
ac_ct_CXX =
ac_ct_DUMPBIN =
ac_ct_FC =
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = x86_64-unknown-linux-gnu
build_alias =
build_cpu = x86_64
build_os = linux-gnu
build_vendor = unknown
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
# Install directories that automake doesn't know about
docdir = $(exec_prefix)/doc
dvidir = ${docdir}
enable_shared = yes
enable_static = yes
exec_prefix = ${prefix}
host = x86_64-unknown-linux-gnu
host_alias =
host_cpu = x86_64
host_os = linux-gnu
host_vendor = unknown
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /dev/shm/easybuild/build/HDF5/1.8.18/foss-2016.03/hdf5-1.8.18/bin/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/HDF5/1.8.18
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../../
top_builddir = ../..
top_srcdir = ../..
# Shell commands used in Makefiles
RM = rm -f
CP = cp
# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNEXEC instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command. Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNEXEC = $(RUNSERIAL)
# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
LIBH5TEST = $(top_builddir)/test/libh5test.la
LIBH5F = $(top_builddir)/fortran/src/libhdf5_fortran.la
LIBH5FTEST = $(top_builddir)/fortran/test/libh5test_fortran.la
LIBH5CPP = $(top_builddir)/c++/src/libhdf5_cpp.la
LIBH5TOOLS = $(top_builddir)/tools/lib/libh5tools.la
LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
# has been removed. According to the official description of DESTDIR by Gnu at
# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
# prepended to the normal and complete install path that it precedes for the
# purpose of installing in a temporary directory which is useful for building
# rpms and other packages. The '/' after ${DESTDIR} will be followed by another
# '/' at the beginning of the normal install path. When DESTDIR is empty the
# path then begins with '//', which is incorrect and causes problems at least for
# Cygwin.
# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
H5CC = ${DESTDIR}$(bindir)/h5cc
H5CC_PP = ${DESTDIR}$(bindir)/h5pcc
H5FC = ${DESTDIR}$(bindir)/h5fc
H5FC_PP = ${DESTDIR}$(bindir)/h5pfc
H5CPP = ${DESTDIR}$(bindir)/h5c++
ACLOCAL_AMFLAGS = "-I m4"
# The trace script; this is used on source files from the C library to
# insert tracing macros.
TRACE = perl $(top_srcdir)/bin/trace
# .chkexe files are used to mark tests that have run successfully.
# .chklog files are output from those tests.
# *.clog and *.clog2 are from the MPE option.
# Temporary files
CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 tattr_multi.h5 \
tfattrs.h5 tattr_scalar.h5 tattr_compound.h5 tattr_dtype.h5 \
tattr_basic.h5
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG = testhdf5
# The tests depend on the hdf5 library, test library, and the c++ library
LDADD = $(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
testhdf5_SOURCES = testhdf5.cpp dsets.cpp tattr.cpp tarray.cpp \
tcompound.cpp tdspl.cpp tfile.cpp tfilter.cpp th5s.cpp \
tlinks.cpp tobject.cpp trefer.cpp ttypes.cpp tvlstr.cpp \
h5cpputil.cpp
# Tell conclude.am that these are C++ tests.
CXX_API = yes
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
# EXTRA_TEST variables are supplied to allow the user to force targets to
# be built at certain times.
LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
$(noinst_LTLIBRARIES) $(check_LIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LIB)
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
$(EXTRA_PROG)
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
AM_SH_LOG_FLAGS =
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .log .o .obj .sh .sh$(EXEEXT) .trs
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/test/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/test/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
H5srcdir_str.h: $(top_builddir)/config.status $(srcdir)/H5srcdir_str.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
testhdf5$(EXEEXT): $(testhdf5_OBJECTS) $(testhdf5_DEPENDENCIES) $(EXTRA_testhdf5_DEPENDENCIES)
@rm -f testhdf5$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(testhdf5_OBJECTS) $(testhdf5_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/dsets.Po
include ./$(DEPDIR)/h5cpputil.Po
include ./$(DEPDIR)/tarray.Po
include ./$(DEPDIR)/tattr.Po
include ./$(DEPDIR)/tcompound.Po
include ./$(DEPDIR)/tdspl.Po
include ./$(DEPDIR)/testhdf5.Po
include ./$(DEPDIR)/tfile.Po
include ./$(DEPDIR)/tfilter.Po
include ./$(DEPDIR)/th5s.Po
include ./$(DEPDIR)/tlinks.Po
include ./$(DEPDIR)/tobject.Po
include ./$(DEPDIR)/trefer.Po
include ./$(DEPDIR)/ttypes.Po
include ./$(DEPDIR)/tvlstr.Po
.cpp.o:
$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CXX)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# $(AM_V_CXX)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
# $(AM_V_CXX)source='$<' object='$@' libtool=yes \
# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
# Recover from deleted '.trs' file; this should ensure that
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
# to avoid problems with "make -n".
.log.trs:
rm -f $< $@
$(MAKE) $(AM_MAKEFLAGS) $<
# Leading 'am--fnord' is there to ensure the list of targets does not
# expand to empty, as could happen e.g. with make check TESTS=''.
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
am--force-recheck:
@:
$(TEST_SUITE_LOG): $(TEST_LOGS)
@$(am__set_TESTS_bases); \
am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
redo_bases=`for i in $$bases; do \
am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
done`; \
if test -n "$$redo_bases"; then \
redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
if $(am__make_dryrun); then :; else \
rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
fi; \
fi; \
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
st=0; \
errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
for i in $$redo_bases; do \
test -f $$i.trs && test -r $$i.trs \
|| { echo "$$errmsg $$i.trs" >&2; st=1; }; \
test -f $$i.log && test -r $$i.log \
|| { echo "$$errmsg $$i.log" >&2; st=1; }; \
done; \
test $$st -eq 0 || exit 1; \
fi
@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
ws='[ ]'; \
results=`for b in $$bases; do echo $$b.trs; done`; \
test -n "$$results" || results=/dev/null; \
all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
if test `expr $$fail + $$xpass + $$error` -eq 0; then \
success=true; \
else \
success=false; \
fi; \
br='==================='; br=$$br$$br$$br$$br; \
result_count () \
{ \
if test x"$$1" = x"--maybe-color"; then \
maybe_colorize=yes; \
elif test x"$$1" = x"--no-color"; then \
maybe_colorize=no; \
else \
echo "$@: invalid 'result_count' usage" >&2; exit 4; \
fi; \
shift; \
desc=$$1 count=$$2; \
if test $$maybe_colorize = yes && test $$count -gt 0; then \
color_start=$$3 color_end=$$std; \
else \
color_start= color_end=; \
fi; \
echo "$${color_start}# $$desc $$count$${color_end}"; \
}; \
create_testsuite_report () \
{ \
result_count $$1 "TOTAL:" $$all "$$brg"; \
result_count $$1 "PASS: " $$pass "$$grn"; \
result_count $$1 "SKIP: " $$skip "$$blu"; \
result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
result_count $$1 "FAIL: " $$fail "$$red"; \
result_count $$1 "XPASS:" $$xpass "$$red"; \
result_count $$1 "ERROR:" $$error "$$mgn"; \
}; \
{ \
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
$(am__rst_title); \
create_testsuite_report --no-color; \
echo; \
echo ".. contents:: :depth: 2"; \
echo; \
for b in $$bases; do echo $$b; done \
| $(am__create_global_log); \
} >$(TEST_SUITE_LOG).tmp || exit 1; \
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
if $$success; then \
col="$$grn"; \
else \
col="$$red"; \
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
fi; \
echo "$${col}$$br$${std}"; \
echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
echo "$${col}$$br$${std}"; \
create_testsuite_report --maybe-color; \
echo "$$col$$br$$std"; \
if $$success; then :; else \
echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
if test -n "$(PACKAGE_BUGREPORT)"; then \
echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
fi; \
echo "$$col$$br$$std"; \
fi; \
$$success || exit 1
recheck: all $(check_PROGRAMS)
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
@set +e; $(am__set_TESTS_bases); \
bases=`for i in $$bases; do echo $$i; done \
| $(am__list_recheck_tests)` || exit 1; \
log_list=`for i in $$bases; do echo $$i.log; done`; \
log_list=`echo $$log_list`; \
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
am__force_recheck=am--force-recheck \
TEST_LOGS="$$log_list"; \
exit $$?
testhdf5.log: testhdf5$(EXEEXT)
@p='testhdf5$(EXEEXT)'; \
b='testhdf5'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
.sh.log:
@p='$<'; \
$(am__set_b); \
$(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
#.sh$(EXEEXT).log:
# @p='$<'; \
# $(am__set_b); \
# $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \
# --log-file $$b.log --trs-file $$b.trs \
# $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \
# "$$tst" $(AM_TESTS_FD_REDIRECT)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool mostlyclean-local
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
cscopelist-am ctags ctags-am distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
# List all build rules defined by HDF5 Makefiles as "PHONY" targets here.
# This tells the Makefiles that these targets are not files to be built but
# commands that should be executed even if a file with the same name already
# exists.
.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
build-tests check-clean check-install check-p check-s check-vfd \
install-doc lib progs tests uninstall-doc _exec_check-s _test help
help:
@$(top_srcdir)/bin/makehelp
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
mostlyclean-local:
@if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
# General rule for recursive building targets.
# BUILT_SOURCES contain targets that need to be built before anything else
# in the directory (e.g., for Fortran type detection)
lib progs tests check-s check-p :: $(BUILT_SOURCES)
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
done
# General rule for recursive cleaning targets. Like the rule above,
# but doesn't require building BUILT_SOURCES.
check-clean ::
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
done
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
# UPDATE: docs no longer reside in this build tree, so this target
# is depreciated.
install-doc uninstall-doc:
@echo "Nothing to be done."
# clean up files generated by tests so they can be re-run.
build-check-clean:
$(RM) -rf $(CHECK_CLEANFILES)
# run check-clean whenever mostlyclean is run
mostlyclean-local: build-check-clean
# check-install is just a synonym for installcheck
check-install: installcheck
# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in chk_TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test
test _test:
@$(MAKE) build-check-s
@$(MAKE) build-check-p
# Actual execution of check-s.
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
fi
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
# The dummy.chkexe here prevents the target from being
# empty if there are no tests in the current directory.
# $${log} is the log file.
# $${tname} is the name of test.
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
tname=$(@:.chkexe_=)$(EXEEXT);\
log=$(@:.chkexe_=.chklog); \
echo "============================"; \
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $${tname}; then \
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\
else \
echo "Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "$(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
fi; \
echo "============================" >> $${log}; \
srcdir="$(srcdir)" \
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $(@:.chkexe_=.chkexe) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
echo "" >> $${log}; \
echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \
echo "============================" >> $${log}; \
echo "Finished testing $${tname} $(TEST_FLAGS)"; \
cat $${log}; \
fi; \
fi
# The dummysh.chkexe here prevents the target from being
# empty if there are no tests in the current directory.
# $${log} is the log file.
# $${tname} is the name of test.
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummysh.chkexe_"; then \
cmd=$(@:.chkexe_=);\
tname=`basename $$cmd`;\
chkname=`basename $(@:.chkexe_=.chkexe)`;\
log=`basename $(@:.chkexe_=.chklog)`; \
echo "============================"; \
if $(top_srcdir)/bin/newer $${chkname} $$cmd $(SCRIPT_DEPEND); then \
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
else \
echo "Testing $${tname} $(TEST_FLAGS)"; \
echo "$${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
fi; \
echo "============================" >> $${log}; \
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
srcdir="$(srcdir)" \
$(TIME) $(SHELL) $$cmd $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $${chkname} || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
echo "" >> $${log}; \
echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \
echo "============================" >> $${log}; \
echo "Finished testing $${tname} $(TEST_FLAGS)"; \
cat $${log}; \
fi; \
echo "============================"; \
fi
# Actual execution of check-p.
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@if test -n "$(TEST_PROG_PARA)"; then \
echo "**** Hint ****"; \
echo "Parallel test files reside in the current directory" \
"by default."; \
echo "Set HDF5_PARAPREFIX to use another directory. E.g.,"; \
echo " HDF5_PARAPREFIX=/PFS/user/me"; \
echo " export HDF5_PARAPREFIX"; \
echo " make check"; \
echo "**** end of Hint ****"; \
fi
@for test in $(TEST_PROG_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
fi; \
done
@for test in $(TEST_SCRIPT_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ || exit 1; \
fi; \
done
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
fi
# Run test with different Virtual File Driver
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
@for vfd in $(VFD_LIST) dummy; do \
if test $$vfd != dummy; then \
echo "============================"; \
echo "Testing Virtual File Driver $$vfd"; \
echo "============================"; \
$(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
Looks like it uses a $LIBS
variable, maybe try setting that to -lm
? Check with the config help to see what's the right way to set it.
I am closing this issue, I have HDF5 built with intel which will be used for building R. I can't figure out the solution.
[hpcswadm@amrndhl1157 HDF5]$ eb HDF5-1.8.17-foss-2016.03.eb == temporary log file in case of crash /tmp/eb-WSH6Qx/easybuild-L9KJ8M.log == processing EasyBuild easyconfig /hpc/hpcswadm/easybuild/HDF5/HDF5-1.8.17-foss-2016.03.eb == building and installing MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/HDF5/1.8.17... == fetching files... == creating build dir, resetting environment... == unpacking... == patching... == preparing... == configuring... == building... == FAILED: Installation ended unsuccessfully (build directory: /nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03): build failed (first 300 chars): cmd " make -j 80 CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" FC="mpifort" " exited with exitcode 2 and output: Making all in src make[1]: Entering directory
/nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03/hdf5-1.8.17/src' make all-am make[2]: Entering directory
/nfs/grid/ == Results of the build can be found in the log file(s) /tmp/eb-WSH6Qx/easybuild-HDF5-1.8.17-20170320.115100.VkRbX.log ERROR: Build of /hpc/hpcswadm/easybuild/HDF5/HDF5-1.8.17-foss-2016.03.eb failed (err: 'build failed (first 300 chars): cmd " make -j 80 CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" FC="mpifort" " exited with exitcode 2 and output:\nMaking all in src\nmake[1]: Entering directory/nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03/hdf5-1.8.17/src\'\nmake all-am\nmake[2]: Entering directory
/nfs/grid/')Here is the log file output at the end. I don't know why FC is set to mpifort for OpenMPI.
CXX tattr.o CXX tcompound.o CXX tdspl.o CXX tfile.o CXX tfilter.o CXX th5s.o CXX tlinks.o CXX tobject.o CXX trefer.o CXX ttypes.o CXX tvlstr.o CXX h5cpputil.o CXXLD testhdf5 /hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'pow' /hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'ceil' /hpc/grid/lsfhpc1p/9.1/linux2.6-glibc2.3-x86_64/lib/libbat.so: error: undefined reference to 'log' collect2: error: ld returned 1 exit status make[2]: [testhdf5] Error 1 make[2]: Leaving directory `/nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03/hdf5-1.8.17/c++/test' make[1]: [all-recursive] Error 1 make[1]: Leaving directory
/nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03/hdf5-1.8.17/c++' make: *** [all-recursive] Error 1 (at easybuild/software/Core/EasyBuild/3.1.1/lib/python2.7/site-packages/easybuild_framework-3.1.1-py2.7.egg/easybuild/tools/run.py:446 in parse_cmd_output) == 2017-03-20 11:52:34,939 easyblock.py:2520 WARNING build failed (first 300 chars): cmd " make -j 80 CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK" FC="mpifort" " exited with exitcode 2 and output: Making all in src make[1]: Entering directory
/nfs/grid/software/RHEL7-BUILD/easybuild/build/HDF5/1.8.17/foss-2016.03/hdf5-1.8.17/src' make all-am make[2]: Entering directory `/nfs/grid/ == 2017-03-20 11:52:34,939 easyblock.py:276 INFO Closing log for application name HDF5 version 1.8.17