Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++ wrapper tests build issue on aarch64 due to _Float16 type #4517

Closed
jhendersonHDF opened this issue May 22, 2024 · 4 comments · Fixed by #4639
Closed

C++ wrapper tests build issue on aarch64 due to _Float16 type #4517

jhendersonHDF opened this issue May 22, 2024 · 4 comments · Fixed by #4639
Assignees
Labels
Component - C++ C++ wrappers Component - Testing Code in test or testpar directories, GitHub workflows Priority - 2. Medium ⏹ It would be nice to have this in the next release Type - Improvement Improvements that don't add a new feature or functionality
Milestone

Comments

@jhendersonHDF
Copy link
Collaborator

Describe the bug
HDF5 1.14.4 (and the develop branch) cannot be built on aarch64 when C++ is enabled due to the C++ tests including H5private.h and failing when encountering the _Float16 type. More context in #4495 and #4507. Reported by @wswsmao.

Expected behavior
HDF5 can be built on aarch64 with C++ enabled

Platform (please complete the following information)

  • HDF5 version - HDF5 1.14.4 / develop (b6b7f54)
  • OS and version - unspecified aarch64
  • Compiler and version - unspecified g++
  • Build system - CMake / Autotools

Additional context
HDF5's C++ wrapper tests should be refactored to reduce the usage of private header files from the C library and avoid including H5private.h.

@jhendersonHDF jhendersonHDF added Priority - 2. Medium ⏹ It would be nice to have this in the next release Component - C++ C++ wrappers Component - Testing Code in test or testpar directories, GitHub workflows Type - Improvement Improvements that don't add a new feature or functionality labels May 22, 2024
@jhendersonHDF jhendersonHDF added this to the 1.14.5 milestone May 22, 2024
@jebos
Copy link

jebos commented Jun 18, 2024

This issue also causes that you can not build the library (c++) for IOS. Using AppleClang with arm64 runs in the exact same issue. Disabling float16 (which is disabled in cmake configure) does not help.

@jhendersonHDF
Copy link
Collaborator Author

Hi @jebos, is the failure you're seeing what's reported in #4578? If so, it shouldn't be related to this issue but rather due to missing getcwd on IOS.

@jebos
Copy link

jebos commented Jun 18, 2024

You are right, first i thought so since the error seemed in the same area and architecture. But it's not related.

@byrnHDF
Copy link
Contributor

byrnHDF commented Jun 25, 2024

The CI for macos-14 has disabled the C++ option until a resolution is found.

bmribler added a commit to bmribler/hdf5_bmr23 that referenced this issue Jul 8, 2024
Revised the C++ tests to eliminate the use of private header files. The solution is to use some functions in the tools library and duplicate some functions from h5test.*.  Some of these duplicated functions can be added to the tools library at a later time, however.

Also, there are many small changes to improve the overall outputs of the tests.

Note: The changes to c++/test/Makefile.in will be committed soon.

(Issue HDFGroupGH-4517)
@jhendersonHDF jhendersonHDF linked a pull request Jul 10, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - C++ C++ wrappers Component - Testing Code in test or testpar directories, GitHub workflows Priority - 2. Medium ⏹ It would be nice to have this in the next release Type - Improvement Improvements that don't add a new feature or functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants