Error al instalar Homebrew de ffmpeg --con todas las opciones

6

Después de instalar ffmpeg usando Homebrew en mi MacBook Air i7 de 2012 con macOS 10.12.3, recibo este mensaje:

Error: File exists - /usr/local/opt/ffmpeg/.brew

Esta ruta es un enlace a /usr/local/Cellar/ffmpeg/3.2.2/.brew que ls -al revela que solo contiene el archivo Ruby, "ffmpeg.rb"

Antes de esto, había instalado ffmpeg correctamente usando brew install ffmpeg pero luego lo desinstalé para volver a instalarlo con todas las opciones por brew options ffmpeg :

brew install ffmpeg --with-chromaprint --with-fdk-aac --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libass --with-libbluray --with-libbs2b --with-libcaca --with-libebur128 --with-libgsm --with-libmodplug --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-schroedinger --with-sdl2 --with-snappy --with-speex --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zimg

Ahora, en lugar de un mensaje final de instalación exitosa, obtengo esto:

...
==> make install
==> make alltools
Error: File exists - /usr/local/opt/ffmpeg/.brew

Con brew uninstall ffmpeg , he eliminado el directorio vinculado /usr/local/opt/ffmpeg/ y el directorio real /usr/local/Cellar/ffmpeg/ . Intenté la instalación de nuevo pero me sale el mismo error. Cabe destacar que parece que ffmpeg se instaló correctamente:

$  ffmpeg -version
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-chromaprint --enable-ffplay --enable-frei0r --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libebur128 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopus --enable-librtmp --enable-librubberband --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-libzmq --enable-opencl --enable-openssl --enable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.1.2/include/openjpeg-2.1 --enable-nonfree --enable-vda
libavutil      55. 34.100 / 55. 34.100
libavcodec     57. 64.101 / 57. 64.101
libavformat    57. 56.100 / 57. 56.100
libavdevice    57.  1.100 / 57.  1.100
libavfilter     6. 65.100 /  6. 65.100
libavresample   3.  1.  0 /  3.  1.  0
libswscale      4.  2.100 /  4.  2.100
libswresample   2.  3.100 /  2.  3.100
libpostproc    54.  1.100 / 54.  1.100

Nota, he usado brew prune , brew update , brew upgrade , brew cleanup , brew doctor y

$  brew -v
Homebrew 1.1.8
Homebrew/homebrew-core (git revision 35fb; last commit 2017-01-29)

También es de destacar que, teniendo en cuenta que el mensaje de error aparece mientras la instalación se encuentra en la fase ==> make alltools , observo en el archivo /usr/local/opt/ffmpeg/.brew/ffmpeg.rb el siguiente código:

class Ffmpeg < Formula
...
  def install
...
    if build.with? "tools"
      system "make", "alltools"
      bin.install Dir["tools/*"].select { |f| File.executable? f }
    end
  end
...
end

No estoy seguro de si esto está relacionado pero, dado que estoy usando la opción --with-tools , ¿quizás el bin.install está generando el error?

Incluso con el mensaje de error, la instalación resultante tiene ffmpeg, ffprobe, ffserver pero ffplay no se reconoce como un comando ...

El archivo INSTALL_RECEIPT.json indica que no se está utilizando ninguna de las opciones:

{"homebrew_version":null,"used_options":[],"unused_options":["--with-fdk-aac","--with-libass","--with-libebur128","--with-libsoxr","--with-libssh","--with-tesseract","--with-libvidstab","--with-opencore-amr","--with-openh264","--with-openjpeg","--with-openssl","--with-rtmpdump","--with-rubberband","--with-schroedinger","--with-sdl2","--with-snappy","--with-tools","--with-webp","--with-x265","--with-xz","--with-zeromq","--with-zimg","--without-lame","--without-qtkit","--without-securetransport","--without-x264","--without-xvid","--with-fontconfig","--with-freetype","--with-frei0r","--with-game-music-emu","--with-libbluray","--with-libbs2b","--with-libcaca","--with-libgsm","--with-libmodplug","--with-libvorbis","--with-libvpx","--with-opus","--with-speex","--with-theora","--with-two-lame","--with-wavpack"],"built_as_bottle":true,"poured_from_bottle":true,"installed_as_dependency":true,"installed_on_request":false,"changed_files":["INSTALL_RECEIPT.json","lib/pkgconfig/libavcodec.pc","lib/pkgconfig/libavdevice.pc","lib/pkgconfig/libavfilter.pc","lib/pkgconfig/libavformat.pc","lib/pkgconfig/libavresample.pc","lib/pkgconfig/libavutil.pc","lib/pkgconfig/libpostproc.pc","lib/pkgconfig/libswresample.pc","lib/pkgconfig/libswscale.pc","share/man/man1/ffmpeg-all.1","share/man/man1/ffmpeg-filters.1","share/man/man1/ffprobe-all.1","share/man/man1/ffserver-all.1","share/man/man1/ffserver.1"],"time":1485728076,"source_modified_time":1480980538,"HEAD":null,"stdlib":null,"compiler":"clang","runtime_dependencies":null,"source":{"path":"/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ffmpeg.rb","tap":"homebrew/core","spec":"stable","versions":{"stable":"3.2.2","devel":null,"head":"HEAD","version_scheme":0}}}
(extra line for ease of scroll viewing)

¿Por qué se informa este mensaje de error y qué debo hacer para una instalación exitosa con todas las opciones?

-------------------------- ACTUALIZACIÓN
Al usar $ brew install ffmpeg --force --with... todas las opciones anteriores, sigo recibiendo el mismo error, pero al usar:

$  brew unlink ffmpeg && brew link ffmpeg

Desenlazé 84 enlaces simbólicos y luego enlazé 114 (30 adicionales no vinculados con la instalación). Con eso ahora al menos tengo ffplay y el archivo INSTALL_RECEIPT.json tiene cosas en la sección "utilizado":

{"homebrew_version":"1.1.8","used_options":["--with-chromaprint","--with-fdk-aac","--with-fontconfig","--with-freetype","--with-frei0r","--with-game-music-emu","--with-libass","--with-libbluray","--with-libbs2b","--with-libcaca","--with-libebur128","--with-libgsm","--with-libmodplug","--with-libsoxr","--with-libssh","--with-libvidstab","--with-libvorbis","--with-libvpx","--with-opencore-amr","--with-openh264","--with-openjpeg","--with-openssl","--with-opus","--with-rtmpdump","--with-rubberband","--with-schroedinger","--with-sdl2","--with-snappy","--with-speex","--with-tesseract","--with-theora","--with-tools","--with-two-lame","--with-wavpack","--with-webp","--with-x265","--with-xz","--with-zeromq","--with-zimg"],"unused_options":["--without-lame","--without-qtkit","--without-securetransport","--without-x264","--without-xvid"],"built_as_bottle":false,"poured_from_bottle":false,"installed_as_dependency":false,"installed_on_request":true,"changed_files":null,"time":1485730992,"source_modified_time":1480980538,"HEAD":"e59ada508727f11464595893783beb914c26f60b","stdlib":"libcxx","compiler":"clang","runtime_dependencies":[{"full_name":"lame","version":"3.99.5"},{"full_name":"x264","version":"r2748"},{"full_name":"xvid","version":"1.3.4"},{"full_name":"chromaprint","version":"1.3"},{"full_name":"fdk-aac","version":"0.1.5"},{"full_name":"libpng","version":"1.6.28"},{"full_name":"freetype","version":"2.7.1"},{"full_name":"fontconfig","version":"2.12.1"},{"full_name":"frei0r","version":"1.4"},{"full_name":"game-music-emu","version":"0.6.1"},{"full_name":"gettext","version":"0.19.8.1"},{"full_name":"libffi","version":"3.0.13"},{"full_name":"pcre","version":"8.39"},{"full_name":"glib","version":"2.50.2"},{"full_name":"fribidi","version":"0.19.7"},{"full_name":"libass","version":"0.13.6"},{"full_name":"libbluray","version":"0.9.3"},{"full_name":"flac","version":"1.3.2"},{"full_name":"libogg","version":"1.3.2"},{"full_name":"libvorbis","version":"1.3.5"},{"full_name":"libsndfile","version":"1.0.26"},{"full_name":"libbs2b","version":"3.1.0"},{"full_name":"libcaca","version":"0.99b19"},{"full_name":"speex","version":"1.2.0"},{"full_name":"libebur128","version":"1.2.0"},{"full_name":"libgsm","version":"1.0.13"},{"full_name":"libmodplug","version":"0.8.8.5"},{"full_name":"libsoxr","version":"0.1.2"},{"full_name":"openssl","version":"1.0.2k"},{"full_name":"libssh","version":"0.7.3"},{"full_name":"libvidstab","version":"0.98b"},{"full_name":"libvpx","version":"1.6.1"},{"full_name":"opencore-amr","version":"0.1.4"},{"full_name":"openh264","version":"1.6.0"},{"full_name":"little-cms2","version":"2.8"},{"full_name":"jpeg","version":"8d"},{"full_name":"xz","version":"5.2.3"},{"full_name":"libtiff","version":"4.0.7"},{"full_name":"openjpeg","version":"2.1.2"},{"full_name":"opus","version":"1.1.4"},{"full_name":"rtmpdump","version":"2.4+20151223"},{"full_name":"libsamplerate","version":"0.1.9"},{"full_name":"rubberband","version":"1.8.1"},{"full_name":"orc","version":"0.4.26"},{"full_name":"schroedinger","version":"1.0.11"},{"full_name":"sdl2","version":"2.0.5"},{"full_name":"snappy","version":"1.1.4"},{"full_name":"webp","version":"0.5.2"},{"full_name":"leptonica","version":"1.74.1"},{"full_name":"tesseract","version":"3.04.01"},{"full_name":"theora","version":"1.1.1"},{"full_name":"two-lame","version":"0.3.13"},{"full_name":"wavpack","version":"5.1.0"},{"full_name":"x265","version":"2.2"},{"full_name":"zeromq","version":"4.2.1"},{"full_name":"zimg","version":"2.4"}],"source":{"path":"/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ffmpeg.rb","tap":"homebrew/core","spec":"stable","versions":{"stable":"3.2.2","devel":null,"head":"HEAD","version_scheme":0}}}
(extra line for ease of scroll viewing)

Recientemente actualicé de macOS 10.12.2 a 10.12.3 pero Homebrew aparece actualizado al igual que xcode-select version 2347 .

-------------------------- ACTUALIZAR con la salida pertinente --debug

$  brew install ffmpeg --debug --with-chromaprint --with-fdk-aac --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libass --with-libbluray --with-libbs2b --with-libcaca --with-libebur128 --with-libgsm --with-libmodplug --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-schroedinger --with-sdl2 --with-snappy --with-speex --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zimg

...

==> make install
==> make alltools

...

Fixing /usr/local/opt/ffmpeg/lib/pkgconfig/libavresample.pc permissions from 644 to 444
Fixing /usr/local/opt/ffmpeg/lib/pkgconfig/libavutil.pc permissions from 644 to 444
Fixing /usr/local/opt/ffmpeg/lib/pkgconfig/libpostproc.pc permissions from 644 to 444
Fixing /usr/local/opt/ffmpeg/lib/pkgconfig/libswresample.pc permissions from 644 to 444
Fixing /usr/local/opt/ffmpeg/lib/pkgconfig/libswscale.pc permissions from 644 to 444
Error: File exists - /usr/local/opt/ffmpeg/.brew
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:297:in 'mkdir'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:297:in 'mkdir'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:297:in 'install'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:306:in 'install_formula'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:199:in 'block in install'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:199:in 'each'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:199:in 'install'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in '<main>'
$

También informe de error presentado a Homebrew

    
pregunta Mr. Kennedy 29.01.2017 - 22:19

1 respuesta

2

Según la entrada del informe de errores de Homebrew , el problema es específico de la instalación de chromaprint opción:

  

El problema parece ser que chromaprint se está construyendo con ejemplos   por defecto, y por lo tanto tiene una dependencia ffmpeg . Esto significa que   una instalación de ffmpeg ya está vinculada en el momento en que el principal   la construcción realmente comienza.

La instalación de FFmpeg con todas las opciones de Homebrew, excepto chromaprint no informa de errores.

Nota, la instalación sin el indicador chromaprint , ffplay funciona después de la instalación sin la necesidad de usar el comando adicional: brew unlink ffmpeg && brew link ffmpeg .

También es de destacar que la instalación de ffmpeg con la opción chromaprint parece evitar que ffplay esté disponible. No estoy seguro de qué otra cosa podría verse comprometida por este error de instalación de Homebrew, pero de lo contrario, ffmpeg parece funcional cuando se instala con la opción chromaprint . Incluso con el mensaje de error, una instalación que utiliza la opción --with-chromaprint representa la instalación habilitada con la opción chromaprint (según el archivo INSTALL_RECEIPT.json y las "opciones habilitadas" informadas en la configuración), incluido fpcalc .

Documento de la FFMPEG en formatos de chromaprint .

Lukáš Lalinský " Introducing Chromaprint " y " ¿Cómo funciona Chromaprint? "

    
respondido por el Mr. Kennedy 11.02.2017 - 15:38

Lea otras preguntas en las etiquetas