[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