h5cpp
h5cpp copied to clipboard
Examination of Compiler Compatibility
H5CPP increasing popularity justifies the survey of compiler/OS compatibility starting with Linux, expanding to other mainstream Unix Like OS-s and Windows OS. This thread is to report and accumulate user experiences then take action on acute cases; as well as to aim for thorough treatment across major platform and compilers providing much similar experience as of the HDF5 CAPI.
To facilitate this process feel free to report success or failure on this thread filling in the blanks:
OS: Linux (distro name) | Apple (MAC | IOS | ...) | Windows (version) | ...
C++ Compiler: clang | gcc | ... version
STL: if different from default
HDF5 CAPI: version serial | parallel | VOL
File System: local | pvfs | lustre | Kita S3 | ...
Result: success | failure
Current C++17 compilers are not quite accommodating when reporting template (meta) programming errors, to limit the verbose output please do: make my_target |& head -n20.
OS: Windows 8.1 64-bit
C++ Compiler: MSVC 15.9.12 64-bit (Visual Studio 2017)
STL: Default MSVC
HDF5 CAPI: 1.10.5 (Compiled with MSVC 15.9.12 64-bit)
File System: local
Result: Success when vs2017-windows branch used. Fail with master branch.
OS: Windows 8.1 64-bit
C++ Compiler: LLVM/Clang 9.0.0 (via Visual Studio 2017 LLVM toolchain) (see Note 1 below)
STL: Default MSVC
HDF5 CAPI: 1.10.5 (Compiled with MSVC 15.9.12 64-bit)
File System: local
Result: Expected fail when vs2017-windows branch is used (see Note 2 below). Expected fail with master branch.
Note 1: I am aware of the issues with LLVM > 6 (https://github.com/steven-varga/h5cpp/issues/45#issue-548349566) but MSVC STL requires LLVM >= 8.0 which is known to fail with H5CPP as of this date. Will revisit when this issue is resolved.
Note 2: The above setup would use the vs2017-windows branch since MSVC STL and standard library are used.
OS: Linux 64-bit **C++ Compiler:**Intel DPC++ v2021(beta), Intel 19.1.0.166, g++-7, g++-8, g++-9, clang++-6.0, clang++-7, clang++-8, clang++-9, clang++-10 STL: Default for each compiler HDF5 CAPI: 1.10.6 File System: ext4 Result: success
OS: Linux 64-bit C++ Compiler: pgc++ v19.10-0 STL: Default for each compiler HDF5 CAPI: 1.10.6 File System: ext4 Result: fails with "/usr/include/c++/7/cstdlib", line 75: catastrophic error: cannot open source file "stdlib.h" #include_next <stdlib.h>