Mulham Fetna bfd89ecb8f cmake: check every hb_raster_* symbol used before selecting system HarfBuzz
The system-HarfBuzz probe referenced only hb_raster_draw_create_or_fail()
and hb_raster_draw_render(), while modules/imgproc/src/drawing_text.cpp
calls ten hb_raster_* entry points. A HarfBuzz that declares the whole
hb-raster API in its header but exports only part of it passes the probe,
so OpenCV links against it instead of falling back to the bundled copy,
and the build then fails with

    undefined reference to `hb_raster_draw_destroy'

Reference all ten symbols in the probe. The array is volatile because the
check compiles at -O3: a plain function address is never null, so the
compiler folds the test away and emits no relocations, which lets a
partial library pass.

Closes #29458
2026-08-22 14:27:19 +03:00
2026-07-28 20:27:29 +05:30
2026-07-28 20:27:29 +05:30
2018-10-11 17:57:51 +00:00
2025-08-07 10:35:20 +03:00
2024-04-02 16:39:54 +03:00

OpenCV: Open Source Computer Vision Library

Resources

Contributing

Please read the contribution guidelines before starting work on a pull request.

Summary of the guidelines:

  • One pull request per issue;
  • Choose the right base branch;
  • Include tests and documentation;
  • Clean up "oops" commits before submitting;
  • Follow the coding style guide.

Additional Resources

Languages
C++ 86%
Python 4.1%
C 2.9%
CMake 2.2%
Java 1.6%
Other 3.1%