NIST Biometric Image Softwareをコンパイルしようとしていますが、1日中問題があります。私は最終的にソースを正しくチェックアウトし、cygwinを問題なくインストールしました(過去に使用しました)が、コンパイルに行ったときにこのエラーが発生します:
$ sh setup.sh </cygdrive/c/NBIS> [--without-X11]
setup.sh: line 94: syntax error near unexpected token `$'in\r''
'etup.sh: line 94: ` case $1 in
今、私は高度なコーダーがsetup.shに向かって問題を探すことを確信していますが、私は実際にはあまりコーダーではありません(プリコンパイルされたパッケージがないため、これをコンパイルしているだけです) t何をすべきかを知っています。 cygwinでライブラリをインストールせず、すべてをデフォルトのままにしました。私はNBISのマニュアルに従うことを試みていますが、私はそれを本当によく理解していないので、ひどく苦労しています。それを見てみると、私が見逃した何かに気付くかもしれません: http://www.nist.gov/customcf/get_pdf.cfm?pub_id=51097
変換する setup.sh
CygwinのUnix行末に、使用
dos2unix setup.sh
走る
sed -i 's/\r//' setup.sh
行末を修正する
Example.shファイルをUNIXに変換する簡単な方法は、NotePad ++を使用することです(編集> EOL変換> UNIX/OSX形式)
Notepad ++でデフォルトのEOLを設定することもできます([設定]> [設定]> [新規ドキュメント/デフォルトディレクトリ]> [フォーマット]ボックスでUnix/OSXを選択)
Windowsは2文字(CRおよびLF、または\r\n
)テキストファイルの行の終わりをマークします。 Unix、Linux、および(デフォルトで)Cygwinは単一のLFまたは '\ n'文字を使用します。一部のCygwinツールはどちらの形式にも対応できますが、shは通常できません。
setup.sh
はWindowsスタイルの行末記号を使用します-または少なくとも94行目は使用します。
ソースのダウンロードが見つかりませんでしたが、Zipファイルとして配布されている場合は、Cygwin unzip
コマンドと-a
オプション。したがって、行末は自動的に変換されます。
しかし、それだけではありません。配布されたsetup.sh
ファイルには、そもそもWindowsスタイルの行末が含まれていてはなりません。もしあったとしても、94行目まで問題が発生しない理由はわかりません。
ソースのダウンロード用のURLを投稿できる場合は、setup.exe
。