graphics/freeimage bundles an old libpng whose pngpriv.h detects neon support at compile time unless PNG_ARM_NEON_OPT is defined. Since libpng's arm source directory is missing, this leads to missing external references such as png_init_filter_functions_neon. This in turn leads to these build failures:
http://build-failures.rhaalovely.net/aarch64/2022-08-01/emulators/emulationstation.log http://build-failures.rhaalovely.net/aarch64/2022-08-01/x11/ogre.log With the diff below these ports build and package. I am not set up to test these or any other reverse dependencies of graphics/freeimage. Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/freeimage/Makefile,v retrieving revision 1.19 diff -u -p -r1.19 Makefile --- Makefile 10 Jul 2022 12:27:10 -0000 1.19 +++ Makefile 3 Aug 2022 19:10:43 -0000 @@ -3,6 +3,7 @@ COMMENT= c++ library for common image f DISTNAME= FreeImage3180 PKGNAME= freeimage-3.18.0 CATEGORIES= graphics +REVISION= 0 SHARED_LIBS+= freeimage 3.0 @@ -28,6 +29,12 @@ MAKE_ENV= LIBfreeimage_VERSION=${LIBfre MAKE_TARGET= Makefile.gnu FIX_CRLF_FILES= Makefile.gnu TestAPI/Makefile + +# The bundled libpng ships without the source for neon support, so +# disable it to avoid undefined symbols. +.if ${MACHINE_ARCH} == "aarch64" +CFLAGS += -DPNG_ARM_NEON_OPT=0 +.endif do-test: cd ${WRKSRC}/TestAPI && ${MAKE_PROGRAM} ${MAKE_ENV}