Errore nell'installazione Homebrew di ffmpeg - con tutte le opzioni

6

Dopo aver installato ffmpeg usando Homebrew sul mio MacBook Air i7 di fine 2012 con macOS 10.12.3, ottengo questo messaggio:

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

Questo percorso è un link a /usr/local/Cellar/ffmpeg/3.2.2/.brew che ls -al rivela per contenere solo il file Ruby, "ffmpeg.rb"

Prima avevo installato ffmpeg usando con successo brew install ffmpeg , ma poi lo ho disinstallato per reinstallare con tutte le opzioni per 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

Ora invece di un messaggio di fine installazione riuscito ottengo questo:

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

Con brew uninstall ffmpeg ho eliminato la directory /usr/local/opt/ffmpeg/ collegata e la directory /usr/local/Cellar/ffmpeg/ effettiva. Ho provato di nuovo l'installazione ma ottengo lo stesso errore. Da notare, sembra che ffmpeg sia stato installato con successo:

$  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

Di nota, ho usato brew prune , brew update , brew upgrade , brew cleanup , brew doctor e

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

Inoltre, considerato che il messaggio di errore arriva mentre l'installazione si trova nella fase ==> make alltools , nel file /usr/local/opt/ffmpeg/.brew/ffmpeg.rb ho notato il seguente codice:

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

Non sono sicuro che sia correlato, ma dal momento che sto usando l'opzione --with-tools , forse bin.install sta generando l'errore?

Anche con il messaggio di errore, l'installazione risultante ha ffmpeg, ffprobe, ffserver ma ffplay non è riconosciuto come comando ...

Il file INSTALL_RECEIPT.json indica che nessuna delle opzioni è in uso:

{"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)

Perché viene visualizzato questo messaggio di errore e cosa devo fare per un'installazione corretta con tutte le opzioni?

-------------------------- UPDATE
Usando $ brew install ffmpeg --force --with... tutte le opzioni sopra ho ancora lo stesso errore, ma usando:

$  brew unlink ffmpeg && brew link ffmpeg

Ho scollegato 84 symlink e collegato 114 (un ulteriore 30 non collegato con l'installazione). Con questo ora ho almeno ffplay e il file INSTALL_RECEIPT.json ha roba nella sezione "used":

{"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)

Recentemente ho aggiornato da macOS 10.12.2 a 10.12.3 ma Homebrew appare aggiornato e xcode-select version 2347 .

-------------------------- UPDATE con l'output --debug pertinente

$  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>'
$

Anche rapporto sui bug presentato a Homebrew

    
posta Mr. Kennedy 29.01.2017 - 22:19
fonte

1 risposta

2

In base al rapporto bug Homebrew , il problema è specifico dell'installazione di chromaprint opzione:

The issue seems to be that chromaprint is being built with examples by default, and therefore has a ffmpeg dependency. This means that an installation of ffmpeg is already linked by the time the main build actually begins.

Installazione di FFmpeg con tutte le opzioni Homebrew ad eccezione di chromaprint non riporta errori.

Da notare, l'installazione senza il flag chromaprint , ffplay funziona dopo l'installazione senza la necessità di utilizzare il comando aggiuntivo: brew unlink ffmpeg && brew link ffmpeg .

Inoltre, l'installazione di ffmpeg con l'opzione chromaprint sembra impedire a ffplay di diventare disponibile. Non sono sicuro di quale altro potrebbe essere compromesso da questo bug di installazione di Homebrew, ma in caso contrario, ffmpeg sembra funzionale se installato con l'opzione chromaprint . Anche con il messaggio di errore, un'installazione che utilizza l'opzione --with-chromaprint rende l'installazione abilitata con l'opzione chromaprint (per il file INSTALL_RECEIPT.json e le "opzioni abilitate" riportate nella configurazione) - incluso fpcalc .

documento FFMPEG sui formati di chromaprint .

Lukáš Lalinský " Presentazione di Chromaprint " e " Come funziona Chromaprint? "

    
risposta data 11.02.2017 - 15:38
fonte

Leggi altre domande sui tag