[MacPorts] #67392: libvpx @1.13.0+universal: Undefined symbols

MacPorts noreply at macports.org
Mon May 8 23:47:49 UTC 2023


#67392: libvpx @1.13.0+universal: Undefined symbols
---------------------------+----------------------
  Reporter:  SchmollTroll  |      Owner:  mascguy
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.8.1
Resolution:                |   Keywords:  arm64
      Port:  libvpx        |
---------------------------+----------------------

Comment (by ryandesign):

 From the log:

 > {{{
 > :info:build /usr/bin/clang++ -L/opt/local/lib
 -Wl,-headerpad_max_install_names -Os -stdlib=libc++ -arch arm64
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -o
 test_libvpx ivfenc.c.o md5_utils.c.o test/active_map_refresh_test.cc.o
 test/active_map_test.cc.o test/alt_ref_aq_segment_test.cc.o
 test/altref_test.cc.o test/aq_segment_test.cc.o test/bench.cc.o
 test/borders_test.cc.o test/byte_alignment_test.cc.o test/config_test.cc.o
 test/cpu_speed_test.cc.o test/cq_test.cc.o test/decode_api_test.cc.o
 test/decode_corrupted.cc.o test/decode_svc_test.cc.o
 test/decode_test_driver.cc.o test/encode_api_test.cc.o
 test/encode_test_driver.cc.o test/error_resilience_test.cc.o
 test/external_frame_buffer_test.cc.o test/frame_size_tests.cc.o
 test/invalid_file_test.cc.o test/keyframe_test.cc.o test/level_test.cc.o
 test/realtime_test.cc.o test/resize_test.cc.o test/svc_datarate_test.cc.o
 test/svc_end_to_end_test.cc.o test/svc_test.cc.o test/test_libvpx.cc.o
 test/test_vector_test.cc.o test/test_vectors.cc.o test/timestamp_test.cc.o
 test/user_priv_test.cc.o test/vp8_datarate_test.cc.o
 test/vp9_datarate_test.cc.o test/vp9_end_to_end_test.cc.o
 test/vp9_ethread_test.cc.o test/vp9_ext_ratectrl_test.cc.o
 test/vp9_lossless_test.cc.o test/vp9_motion_vector_test.cc.o
 test/vp9_skip_loopfilter_test.cc.o test/y4m_test.cc.o
 third_party/libwebm/mkvparser/mkvparser.cc.o
 third_party/libwebm/mkvparser/mkvreader.cc.o webmdec.cc.o y4menc.c.o
 y4minput.c.o -L. -lvpx -lgtest -lpthread -lm -lpthread
 > :info:build ld: warning: ignoring file /opt/local/lib/libvpx.dylib,
 building for macOS-arm64 but attempting to link with file built for macOS-
 x86_64
 > }}}

 So the bug is happening because of these two reasons:

 1. /opt/local/lib/libvpx.dylib exists on your system and is built for
 x86_64 but you are trying to build for arm64 now. Did you forget the step
 in the [wiki:Migration migration instructions] where you uninstall all
 your ports before reinstalling them?
 2. The build system places our LDFLAGS (including `-L/opt/local/lib`)
 before its own library path flags (`-L.`) so the preexisting libvpx.dylib
 is being used instead of the one that was just built. This could cause
 build failures in other situations as well, for example upgrading from an
 older version of the library to newer one that introduces new symbols.
 This should be fixed by correcting the order of the flags.

-- 
Ticket URL: <https://trac.macports.org/ticket/67392#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list