macOS Catalina 10.15.6を実行しています。私の質問はGNUツールを使ったコンパイルに関連しているので、他のSEサイトに適しているかもしれません。そうであれば、喜んで閉じて他の場所に連絡します。
ソフトウェア(例:)をコンパイルしようとしていますが、wine-6.0
コンパイルするにはすでに実行可能ファイルがあるbisonが必要です/usr/bin
。ただし、このプログラムをコンパイルするには、バイソンバージョンが3.0以上である必要があり、バイナリ/usr/bin
バージョンは2.7.6です。 bison 3.7.6をコンパイルし、もともと新しいbison 3.7バイナリを置く予定だったが、/usr/bin
macOSのファイルシステム保護のために/usr/bin/bison
。今は走ることを止められない何かが開いています。
以下を使用すると、./configure --enable-win64
次のエラーが発生します。
checking for bison... bison
checking whether bison is recent enough... no
configure: error: Your bison version is too old. Please install bison version 3.0 or newer.
この問題を解決するために修正がPATH
機能すると思いました。以前は bison 3.7.6 バイナリを移動して/usr/local/bin/bison
実行していましたが、まだ機能していませんでした。 bison> 3.0でない場合(試行したときと同じ)バイソンに触れるときの前と同じエラー):export PATH=/usr/local/bin:$PATH
./configure
checking for bison... bison
checking whether bison is recent enough... no
configure: error: Your bison version is too old. Please install bison version 3.0 or newer.
奇妙なことは、正しいバイナリを使ってBisonを実行してみたことです。
$ bison -V
bison (GNU Bison) 3.7.6
Written by Robert Corbett and Richard Stallman.
...
$ which bison
/usr/local/bin/bison
configure.ac
私もファイルを少し操作しようとしましたが、問題は私がそこで何をしているのかわからないということです。設定ファイルを編集して再実行したautoconf
後、使用しても./configure
動作しません。最終的に私の質問は次のとおりです。./configure
正しいBisonバイナリを使用していることをどうやって確認できますか?
答え1
私の問題はbison
間違ったインストールです。
Brewがすべてをどこに入れるかを決定するのではなく、ソースからバイソンをコンパイルし、configure --prefix=/usr/local
ワインコンパイルを生成したmakefileを使用するときにPATHが正しいことを確認して動作しました。configure
問題は、バージョンを確認するために空のファイルでBisonを実行する終了コードのみを確認するワイン構成スクリプトが原因で発生します。破損したインストールで bison が失敗したため、エラー終了コードが提供され、設定スクリプトで bison のバージョンが不足していると考えました。