[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