steven-varga / h5cpp

C++17 templates between [stl::vector | armadillo | eigen3 | ublas | blitz++] and HDF5 datasets
http://h5cpp.org
Other
141 stars 32 forks source link

Examination of Compiler Compatibility #42

Open steven-varga opened 4 years ago

steven-varga commented 4 years ago

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.

ChrisDrozdowski commented 4 years ago

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.

ChrisDrozdowski commented 4 years ago

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.

steven-varga commented 4 years ago

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

steven-varga commented 4 years ago

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