[MacPorts] #71115: libvpx: Undefined symbols due to architecture mismatch (was: unable to build livvx)

MacPorts noreply at macports.org
Thu Oct 17 15:01:59 UTC 2024


#71115: libvpx: Undefined symbols due to architecture mismatch
----------------------+---------------------------
  Reporter:  jpmelko  |      Owner:  mascguy
      Type:  defect   |     Status:  assigned
  Priority:  Normal   |  Milestone:
 Component:  ports    |    Version:
Resolution:           |   Keywords:  sequoia arm64
      Port:  libvpx   |
----------------------+---------------------------
Changes (by ryandesign):

 * status:  new => assigned
 * owner:  (none) => mascguy
 * keywords:   => sequoia arm64


Comment:

 In the log I see undefined symbols due to:
 {{{
 :info:build /usr/bin/clang++ -L/opt/local/lib
 -Wl,-headerpad_max_install_names -Os -stdlib=libc++
 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
 -arch arm64 -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 duplicate libraries: '-lpthread'
 :info:build ld: warning: ignoring file '/opt/local/lib/libvpx.8.dylib':
 found architecture 'x86_64', required architecture 'arm64'
 }}}

 One question is: why is the build using the installed libvpx dylib? It
 should be using the just-built libvpx dylib, which will have been built
 for the correct architecture. It's because `-L/opt/local/lib` appears
 before `-L.` in the link line. That's something for Chris to sort out.

 Another question is: why do you have an x86_64 libvpx dylib installed on
 your arm64 Mac? Did you migrate from an x86_64 Mac and not follow the
 [wiki:Migration migration procedure]?

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


More information about the macports-tickets mailing list