When building free image on aarch64 (armv8 64-bits), the libpng code detect NEON support, build support for the optional neon support, but in the end is missing png_init_filter_functions_neon
because the arm specific code isn't compiled, causing library clients to fail to link.
Two possible fixes:
- include the arm
subdirectory from upstream and build that on the appropriate platforms
- pass -DPNG_ARM_NEON_OPT=0
to the CFLAGS
to force disabling NEON
Solution one would provide better performance on aarch64
Solution two is just the status quo that allow things to work.
This is also probably an issue on other platforms, including arm
(32-bits)
Also the SSE2 code for x86_64 is missing as the intel
subdirectory is missing, but it seems that it is off by default.