Essayer de le faire - j'installe ffmpeg à partir de fûts séparés
brew upgrade --force homebrew-ffmpeg/ffmpeg/ffmpeg --fetch-HEAD --with-fdk-aac --with-libbluray --with-openh264 --with-srt --with-wavpack --with-webp --with-xvid --with-two-lame --with-opencore-amr --with-librsvg --with-openjpeg --with-openssl@1.1 --with-speex --with-openssl --with-xvid
Homebrew c'est de la merde, ils devraient enfreindre la loi et proposer une version fonctionnelle de ffmpeg. S'ils se soucient trop des licences, cela se traduit par une mauvaise expérience pour l'utilisateur. De plus je suis sur Mojave et ils m'avertissent toujours que "nous ne supportons plus cette version". Mojave devrait toujours être supporté, donc à l'avenir l'utilisation de Homebrew fera que vous n'aurez pas de support. Tout le monde ne veut pas utiliser les derniers logiciels car malheureusement les nouveaux MacOS sont bogués et ne sont plus supportés. Donc si vous utilisez Homebrew, assurez-vous de rester sur la version qui vous convient le mieux et ne mettez JAMAIS à jour.
Je rencontre ce problème en essayant de compiler pianobar. La raison en est que pianobar a plus de ffmpeg dans ses dépendances que ce ffmpeg fonctionnel. vous devez donc trouver une formule sur votre système, par exemple.
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/pianobar.rb
/usr/local/Cellar/pianobar/2020.11.28_1/.brew/pianobar.rb
vous verrez
class Pianobar < Formula
desc "Command-line player for https://pandora.com"
homepage "https://github.com/PromyLOPh/pianobar/"
url "https://6xq.net/pianobar/pianobar-2020.11.28.tar.bz2"
sha256 "653bfb96b548259e3ac360752f66fdb77e8e220312e52a43c652f7eb96e7d4fe"
license "MIT"
revision 1
head "https://github.com/PromyLOPh/pianobar.git"
depends_on "pkg-config" => :build
depends_on "ffmpeg"
depends_on "json-c"
depends_on "libao"
depends_on "libgcrypt"
uses_from_macos "curl"
def install
# Discard Homebrew's CFLAGS as Pianobar reportedly doesn't like them
ENV["CFLAGS"] = "-O2 -DNDEBUG " +
# Or it doesn't build at all
"-std=c99 " +
# build if we aren't /usr/local'
"#{ENV.cppflags} #{ENV.ldflags}"
system "make", "PREFIX=#{prefix}"
system "make", "install", "PREFIX=#{prefix}"
prefix.install "contrib"
end
test do
require "pty"
PTY.spawn(bin/"pianobar") do |stdout, stdin, _pid|
stdin.putc "\n"
assert_match "pianobar (#{version})", stdout.read
end
end
end
Je modifie la ligne depends_on "ffmpeg"
à depends_on "homebrew-ffmpeg/ffmpeg/ffmpeg"
et répéter l'opération pour /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/pianobar.rb
puis je force la réinstallation de pianobar. Cela devrait fonctionner. Si ce n'est pas le cas, vérifiez si le binaire dont vous avez besoin est lié à l'ancienne version de la bibliothèque.
J'espère vraiment que quelqu'un m'aidera à écrire mon propre gestionnaire de paquets, peut-être en Swift plutôt qu'en Ruby, qui sera basé sur la philosophie Portage de Gentoo.