[MacPorts] #71080: libpng @1.6.44: Undefined symbols _png_do_expand_palette_rgb8_neon _png_do_expand_palette_rgba8_neon _png_init_filter_functions_neon _png_riffle_palette_neon (was: error installing libpng @libpng-1.6.44_0.darwin_24.arm64)
MacPorts
noreply at macports.org
Thu Oct 10 08:41:44 UTC 2024
#71080: libpng @1.6.44: Undefined symbols _png_do_expand_palette_rgb8_neon
_png_do_expand_palette_rgba8_neon _png_init_filter_functions_neon
_png_riffle_palette_neon
------------------------------------+--------------------
Reporter: mbassalbioinformatics | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.10.2
Resolution: | Keywords: arm64
Port: libpng |
------------------------------------+--------------------
Changes (by ryandesign):
* keywords: libpng => arm64
* port: => libpng
Comment:
Your log shows missing ARM NEON symbols:
{{{
:info:build Undefined symbols for architecture arm64:
:info:build "_png_do_expand_palette_rgb8_neon", referenced from:
:info:build _png_do_read_transformations in pngrtran.o
:info:build "_png_do_expand_palette_rgba8_neon", referenced from:
:info:build _png_do_read_transformations in pngrtran.o
:info:build "_png_init_filter_functions_neon", referenced from:
:info:build _png_read_filter_row in pngrutil.o
:info:build "_png_riffle_palette_neon", referenced from:
:info:build _png_do_read_transformations in pngrtran.o
:info:build ld: symbol(s) not found for architecture arm64
:info:build clang: error: linker command failed with exit code 1 (use -v
to see invocation)
:info:build make[1]: *** [libpng16.la] Error 1
:info:build make[1]: *** Waiting for unfinished jobs....
}}}
These symbols are supposed to be created from ARM NEON-specific libpng
code files filter_neon_intrinsics.c and palette_neon_intrinsics.c but your
log shows these didn't get compiled.
I believe the cause is shown on line 3 of your log:
{{{
:debug:sysinfo macOS 15.0 (darwin/24.0.0) arch i386
}}}
Although you are trying to build for arm64, and you state you are using an
Apple Silicon Mac, MacPorts thinks you are on an Intel Mac.
The usual reason for this to happen is if you are running the MacPorts
`port` command from within an Intel shell. And the usual reason why you
might be running an Intel shell is if you are running an Intel terminal
program.
The solution is to use an Apple Silicon terminal program, such as the
Terminal app that Apple includes with macOS.
--
Ticket URL: <https://trac.macports.org/ticket/71080#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list