Homebrew-core: ffmpeg --with-ffplay broken

Created on 12 Jul 2016  路  7Comments  路  Source: Homebrew/homebrew-core

  • [yep ] Ran brew update and retried your prior step?
  • [ yep] Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • [yep] If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

    Bug reports:

I'm seeing this error:

$ brew install ffmpeg --with-ffplay
==> Downloading https://ffmpeg.org/releases/ffmpeg-3.1.1.tar.bz2
Already downloaded: /Users/chrisfairclough/Library/Caches/Homebrew/ffmpeg-3.1.1.tar.bz2
==> ./configure --prefix=/usr/local/Cellar/ffmpeg/3.1.1 --enable-shared --enable-pthreads --enable-gpl --enable-version
Last 15 lines from /Users/chrisfairclough/Library/Logs/Homebrew/ffmpeg/01.configure:
--enable-opencl
--enable-libx264
--enable-libmp3lame
--enable-libxvid
--enable-ffplay
--disable-lzma
--enable-vda

ERROR: libmp3lame >= 3.98.3 not found

If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
https://github.com/Homebrew/homebrew-core/issues

These open issues may also help:
libquicktime --ffmpeg option is broken with ffmpeg 3 https://github.com/Homebrew/homebrew-core/issues/527

...

But only when I include the --with-ffplay option.
I need ffplay.

https://gist.github.com/anonymous/6cba5deaf7a3f2f78afe845689405331

$ brew config
HOMEBREW_VERSION: 0.9.9
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 0d189fae57bad6c209b471eba9e0b254a2b40886
Last commit: 8 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 48e1c5f3d11d9bb35efe00852034e481ab653919
Core tap last commit: 4 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 7.3 build 703
Git: 2.9.0 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_51
OS X: 10.11.4-x86_64
Xcode: 7.3.1
CLT: N/A
X11: N/A

$ brew doctor
Your system is ready to brew.

Most helpful comment

Thanks for the reports around this. This wasn't actually a ffmpeg problem _per se_ but rather a problem with refactoring of our environment wrapper in https://github.com/Homebrew/brew/commit/0d189fae57bad6c209b471eba9e0b254a2b40886. I've fixed the oversight in https://github.com/Homebrew/brew/commit/bd4e24ae8.

If you brew update things will work again. Sorry for the inconvenience on this!

All 7 comments

Same error when running just brew install ffmpeg --build-from-source
https://gist.github.com/mischnic/56e60e7cfdb5528240242e0c46986363

The error in configure is ld: library not found for -lmp3lame, though the library is correctly installed via lame under /usr/local/lib/libmp3lame.dylib

./configure works when --extra-ldflags="-L/usr/local/lib/" is passed to it. Now I need to work out how to incorporate into brew.....

The quick workaround for me (just so I could convert some .oggs from 10 years ago):

  1. brew edit ffmpeg
  2. Goto line ~169
  3. Edit to read:

```
args << "--extra-ldflags=-L/usr/local/lib/"

system "./configure", *args
```

Fingers crossed someone can fix properly upstream

More correct way would be to put this at line 96:

--extra-ldflags="-L#{HOMEBREW_PREFIX}/lib/"

But then make fails:

brew install ffmpeg --build-from-source

HOSTLD  doc/print_options
AR  libavdevice/libavdevice.a
LD  libavutil/libavutil.55.dylib
HOSTLD  libavcodec/aacps_fixed_tablegen
HOSTLD  libavcodec/aacps_tablegen
HOSTLD  libavcodec/cbrt_tablegen
HOSTLD  libavcodec/cbrt_fixed_tablegen
HOSTLD  libavcodec/cos_tablegen
HOSTLD  libavcodec/dv_tablegen
HOSTLD  libavcodec/motionpixels_tablegen
HOSTLD  libavcodec/pcm_tablegen
HOSTLD  libavcodec/mpegaudio_tablegen
ld: library not found for -lxvidcore
HOSTLD  libavcodec/qdm2_tablegen
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libavutil/libavutil.55.dylib] Error 1

brew install ffmpeg --with-ffplay --build-from-source

INSTALL libavutil/ffversion.h
INSTALL libavutil/libavutil.pc
HOSTLD  doc/print_options
AR  libavdevice/libavdevice.a
LD  libavutil/libavutil.55.dylib
HOSTLD  libavcodec/aacps_fixed_tablegen
HOSTLD  libavcodec/aacps_tablegen
HOSTLD  libavcodec/cbrt_tablegen
HOSTLD  libavcodec/cbrt_fixed_tablegen
HOSTLD  libavcodec/cos_tablegen
HOSTLD  libavcodec/dv_tablegen
ld: library not found for -lSDLmain
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Indeed, I spoke too soon. In the end I needed quite a few extra libs defined but couldn't use the suggest change on line 96 in the args definition as it didn't seem to like whitespace.

Instead, I ended up with:

args << "--extra-ldflags=-L/usr/local/lib/ -L/usr/local/Cellar/sdl/1.2.15/lib/ -L/usr/local/Cellar/xvid/1.3.4/lib/ -L/usr/local/Cellar/libvorbis/1.3.5/lib/ -L/usr/local/Cellar/libogg/1.3.2/lib/ -L/usr/local/Cellar/lame/3.99.5/lib/"

Thanks for the reports around this. This wasn't actually a ffmpeg problem _per se_ but rather a problem with refactoring of our environment wrapper in https://github.com/Homebrew/brew/commit/0d189fae57bad6c209b471eba9e0b254a2b40886. I've fixed the oversight in https://github.com/Homebrew/brew/commit/bd4e24ae8.

If you brew update things will work again. Sorry for the inconvenience on this!

cool. Thanks Dom, works for me now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Thirudhas picture Thirudhas  路  4Comments

tejasmanohar picture tejasmanohar  路  3Comments

jyutzler picture jyutzler  路  4Comments

ghostbar picture ghostbar  路  4Comments

gregvirgin picture gregvirgin  路  3Comments