Alex
Alex

Reputation: 44395

How to fix "undefined symbols" for compiling mplayer

When I try to compile mplayer on MacOS (12.4) I get an error

Undefined symbols for architecture x86_64:
  "_x264_encoder_open_163", referenced from:
      _X264_init in libavcodec.a(libx264.o)
Undefined symbols for architecture x86_64:
  "_x264_encoder_open_163", referenced from:
      _X264_init in libavcodec.a(libx264.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mencoder] Error 1
make: *** Waiting for unfinished jobs....
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mplayer] Error 1

Any ideas how to fix this?

Upvotes: 0

Views: 407

Answers (1)

Alex
Alex

Reputation: 44395

The issue seem to have been with the x264 library. And for some reasons a first reinstall of x264 did not work. But when (after some other attempts to install what is missing) I did again

brew reinstall x264

something was compiled. But then I did run the following three commands in exactly this order:

./configure
make clean
make

And to my total surprise it did compile finally mplayer. And it works (and fixes a bug only I seem to have).

Upvotes: 0

Related Questions