2017-10-12 5 views
0

私はBIND DNSサーバーを「作成」しようとしています。
私は次のコマンドを使用しています:make -f Makefile.inと私はエラーを受け取ります:
Makefile.in:32: *** missing separator (did you mean TAB instead of 8 Spaces?). Stop.
私はAntiX Linux(Debianテストに基づいています)とUbuntuで試しました。
バージョン9.11.2、9.10.6、9.9.11のBINDを試しました。
キーボードレイアウトQWERTY US UTF8を使用しています(ただし、Makefile.inは編集しませんでした)。メイクファイルにセパレータタブがありません

Makefile.inのライン32でこのあります:
(私は「メイク」に新たなんだ)の前に、私はそのような行を見たことがない @[email protected]

これはスペース文字で置き換えられたディレクティブで問題を引き起こす可能性がありますか?

私はこのようないくつかの質問があることを知っていますが、これはdownvotedまたはトピックとして閉じられていますが、いくつかの回答は高く評価されます。

答えて

2

Makefile.inをメイクファイルとして使用することはできません。これはメークファイルではありません。メークファイルの場合はテンプレートです。実際にメークファイルに変換するには、最初に処理する必要があります。Makefile(no .in)となります。

ソースディストリビューションのINSTALLまたはREADMEファイルを読んでビルド方法を確認する必要があります。私は非常に長い時間でBINDを構築しようとはしていませんが、最初に実行しなければならないconfigureスクリプトが付属している可能性が最も高いです。そのスクリプトはMakefileを作成します。次に、make-f ...フラグなし)を実行します。マッドサイエンティストによって修正されたよう

1

Makefile.inautoconfや友人が使用するテンプレートファイルです。具体的には、autoconfは、スクリプトを生成するためにファイルconfigure.inをとります。このスクリプトはMakefile.inをとり、それを修正してMakefileを作成します。あなたが見つけたものは、このプロセスのマーカーでした。あなたはもっと情報を見つけることができますhere

+0

実行する 'autoconf'プログラムはありますか? – thanopi57

+1

'autoconf'はほとんどのシステムにインストールされている標準プログラムです。通常は '.configure'スクリプトから呼び出されます。 @MadScientistが言及したように、システムを適切にインストールする方法については、パッケージの 'INSTALL'または' README'ファイルに説明があります。 – HardcoreHenry

+0

申し訳ありませんが、これは正しくありません。あなたはMakefileを生成するために "autoconf"を使用しません。 autoconfを使って 'configure.ac'ファイル(以前は' configure.in'と呼ばれていました)を 'configure'スクリプトに変換します。そのステップは、ソフトウェアの管理者(ダウンロードしたBINDソース配布を公開した人)によって実行されます。ソース配布をダウンロードしたエンドユーザは、autoconfは必要ありません。エンドユーザーは "configure"を実行するだけです。彼らは間違いなくautoconfを実行してはいけません。 – MadScientist

関連する問題