|
From: | William Brown |
Subject: | Compilation Error: h5xx; template..cannot be overloaded... |
Date: | Fri, 4 Aug 2023 16:29:19 +0000 |
I am trying to compile 4.2.1 using GCC 12.2.0. cmake seems to go OK; . the notice about doxygen missing components: dot I read is related to graphviz, and is only needed to produce the documents. $ cmake ..
-- CMake version: 3.24.3
-- The CXX compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/apps/easybuild/software/GCCcore/12.2.0/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/apps/easybuild/software/GCCcore/12.2.0/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Config file: /home/apps/custom/software/espresso/4.2.1/espresso/src/config/myconfig-default.hpp
-- Performing Test result__PRETTY_FUNCTION__
-- Performing Test result__PRETTY_FUNCTION__ - Success
-- Found PythonInterp: /home/apps/easybuild/software/Python/3.10.8-GCCcore-12.2.0/bin/python3 (found suitable version "3.10.8", minimum required is "3.8")
-- Found Cython: /home/apps/easybuild/software/Python/3.10.8-GCCcore-12.2.0/bin/python3;-m;cython (found suitable version "0.29.36", minimum required is "0.29.14")
-- Found PythonHeaders: /home/apps/easybuild/software/Python/3.10.8-GCCcore-12.2.0/include/python3.10
-- Found NumPy: /home/apps/easybuild/software/SciPy-bundle/2023.02-gfbf-2022b/lib/python3.10/site-packages/numpy/core/include (found version "1.24.2")
-- Found FFTW3: /home/apps/easybuild/software/FFTW.MPI/3.3.10-gompi-2022b/lib/libfftw3.so
-- Found HDF5: /home/apps/easybuild/software/HDF5/1.14.0-gompi-2022b/lib/libhdf5.so;/usr/lib64/libpthread.so;/home/apps/easybuild/software/Szip/2.1.1-GCCcore-12.2.0/lib/libsz.so;/home/apps/easybuild/software/zlib/1.2.12-GCCcore-12.2.0/lib/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so;/usr/lib64/libm.so;/usr/lib64/libpthread.so
(found suitable version "1.14.0", minimum required is "1.8") found components: C
-- Found GSL: /home/apps/easybuild/software/GSL/2.7-GCC-12.2.0/include (found version "2.7")
-- Found MPI_C: /home/apps/easybuild/software/OpenMPI/4.1.4-GCC-12.2.0/lib/libmpi.so (found suitable version "3.1", minimum required is "3.0")
-- Found MPI_CXX: /home/apps/easybuild/software/OpenMPI/4.1.4-GCC-12.2.0/lib/libmpi.so (found suitable version "3.1", minimum required is "3.0")
-- Found MPI: TRUE (found suitable version "3.1", minimum required is "3.0")
-- Found MpiexecBackend: /home/apps/easybuild/software/OpenMPI/4.1.4-GCC-12.2.0/bin/mpiexec
-- Found Boost: /home/apps/easybuild/software/Boost.MPI/1.81.0-gompi-2022b/lib64/cmake/Boost-1.81.0/BoostConfig.cmake (found suitable version "1.81.0", minimum required
is "1.69.0") found components: mpi serialization filesystem system unit_test_framework
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components:
doxygen missing components: dot
-- Found Sphinx: /home/apps/easybuild/software/Python/3.10.8-GCCcore-12.2.0/bin/python3;-m;sphinx (found suitable version "5.3.0", minimum required is "2.3.0")
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- The following features have been enabled:
* HDF5 (required version >= 1.8), parallel
-- The following OPTIONAL packages have been found:
* FFTW3
* MpiexecBackend
* Doxygen
* Sphinx (required version >= 2.3.0)
* Git
-- The following REQUIRED packages have been found:
* PythonInterp (required version >= 3.8)
* Cython (required version >= 0.29.14)
* PythonHeaders
* NumPy
* HDF5 (required version >= 1.8), parallel
* GSL
* MPI
* boost_mpi (required version == 1.81.0)
* boost_serialization (required version == 1.81.0)
* boost_atomic (required version == 1.81.0)
* boost_filesystem (required version == 1.81.0)
* boost_system (required version == 1.81.0)
* boost_headers (required version == 1.81.0)
* boost_unit_test_framework (required version == 1.81.0)
* Boost (required version >= 1.69.0)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/apps/custom/software/espresso/4.2.1/espresso/build
However the compilation fails: . . [ 44%] Building CXX object src/core/CMakeFiles/Espresso_core.dir/magnetostatics/dds_gpu.cpp.o [ 44%] Building CXX object src/core/CMakeFiles/Espresso_core.dir/magnetostatics/dds_replica.cpp.o [ 44%] Building CXX object src/core/CMakeFiles/Espresso_core.dir/magnetostatics/dlc.cpp.o In file included from /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/dataspace.hpp:16, from /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/attribute/attribute.hpp:17, from /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/attribute.hpp:17, from /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/h5xx.hpp:23, from /home/apps/custom/software/espresso/4.2.1/espresso/src/core/io/writer/h5md_specification.hpp:24, from /home/apps/custom/software/espresso/4.2.1/espresso/src/core/io/writer/h5md_core.hpp:27, from /home/apps/custom/software/espresso/4.2.1/espresso/src/core/io/writer/h5md_core.cpp:22: /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/dataspace/dataspace.hpp:52:5: error: ‘template<long unsigned int N> h5xx::dataspace::dataspace(const boost::array<long
unsigned int, NumDims>&)’ cannot be overloaded with ‘template<long unsigned int N> h5xx::dataspace::dataspace(const boost::array<long unsigned int, NumDims>&)’ 52 | dataspace(boost::array<hsize_t, N> const& dims); | ^~~~~~~~~ /home/apps/custom/software/espresso/4.2.1/espresso/libs/h5xx/h5xx/dataspace/dataspace.hpp:50:5: note: previous declaration ‘template<long unsigned int N> h5xx::dataspace::dataspace(const
boost::array<long unsigned int, NumDims>&)’ 50 | dataspace(boost::array<std::size_t, N> const& dims); | ^~~~~~~~~ . . These are the lines from
espresso/libs/h5xx/h5xx/dataspace/dataspace.hpp relating to the first two error messages: /** construct simple dataspace of given extents, boost::array version */ template <std::size_t N> dataspace(boost::array<std::size_t, N> const& dims); template <std::size_t N> dataspace(boost::array<hsize_t, N> const& dims); There are more errors in a similar vein about overloading that follow. I see that h5xx ships with Espresso, so I am wondering if there is a compatibility issue with the versions of HDF5 or Boost, or GCC 12. I did not have this problem building Espresso 4.1.4 with Boost/1.74 and HDF5/1.10.7 and GCC 10.
I see that h5xx is identical in 4.1.4 and 4.2.1 and dates to 2018 and is #
89d8d43 - and I see that h5xx has more recently had a version 0.9.2 which specifically mentions C++ 11 changes:
https://github.com/fhoefling/h5xx/issues. I have tried building with h5xx 0.9.2 but I get the same errors. I am using Easybuild and Lmod and these are the loaded versions of the required software: Currently Loaded Modules: 1) GCCcore/12.2.0 25) FFTW.MPI/3.3.10-gompi-2022b (H) 2) zlib/1.2.12-GCCcore-12.2.0 (H) 26) OpenBLAS/0.3.21-GCC-12.2.0 (H) 3) binutils/2.39-GCCcore-12.2.0 (H) 27) FlexiBLAS/3.2.1-GCC-12.2.0 (H) 4) GCC/12.2.0 28) ScaLAPACK/2.2.0-gompi-2022b-fb (H) 5) numactl/2.0.16-GCCcore-12.2.0 (H) 29) foss/2022b 6) XZ/5.2.7-GCCcore-12.2.0 (H) 30) ncurses/6.3-GCCcore-12.2.0 (H) 7) libxml2/2.10.3-GCCcore-12.2.0 (H) 31) libreadline/8.2-GCCcore-12.2.0 (H) 8) libpciaccess/0.17-GCCcore-12.2.0 (H) 32) Tcl/8.6.12-GCCcore-12.2.0 (H) 9) hwloc/2.8.0-GCCcore-12.2.0 (H) 33) SQLite/3.39.4-GCCcore-12.2.0 (H) 10) OpenSSL/1.1 (H) 34) GMP/6.2.1-GCCcore-12.2.0 11) libevent/2.1.12-GCCcore-12.2.0 (H) 35) libffi/3.4.4-GCCcore-12.2.0 (H) 12) UCX/1.13.1-GCCcore-12.2.0 (H) 36) Python/3.10.8-GCCcore-12.2.0 13) libfabric/1.16.1-GCCcore-12.2.0 (H) 37) gfbf/2022b (H) 14) PMIx/4.2.2-GCCcore-12.2.0 (H) 38) pybind11/2.10.3-GCCcore-12.2.0 (H) 15) UCC/1.1.0-GCCcore-12.2.0 (H) 39) SciPy-bundle/2023.02-gfbf-2022b (H) 16) OpenMPI/4.1.4-GCC-12.2.0 (H) 40) Biopython/1.81-foss-2022b 17) gompi/2022b (H) 41) Cython/0.29.36-GCCcore-12.2.0 18) bzip2/1.0.8-GCCcore-12.2.0 (H) 42) GSL/2.7-GCC-12.2.0 19) gzip/1.12-GCCcore-12.2.0 43) Szip/2.1.1-GCCcore-12.2.0 20) lz4/1.9.4-GCCcore-12.2.0 44)
HDF5/1.14.0-gompi-2022b 21) zstd/1.5.2-GCCcore-12.2.0 45) cURL/7.86.0-GCCcore-12.2.0 22) ICU/72.1-GCCcore-12.2.0 46) libarchive/3.6.1-GCCcore-12.2.0 (H) 23)
Boost.MPI/1.81.0-gompi-2022b 47) CMake/3.24.3-GCCcore-12.2.0 (H) 24) FFTW/3.3.10-GCC-12.2.0 (H) Where: H: Hidden Module I have looked around but I have not find any report of a similar issue. I need to use GCC 12 as the user needs to use this with Biopython/1.81, which has been built to use GCC 12 under Easybuild. I would be grateful for any suggestions as to what to try next. William
Information Technology
Discover why we are Top 50 in the World for 'International Outlook' - THE World University Ranking 2023 |
[Prev in Thread] | Current Thread | [Next in Thread] |