2009-12-10 12 views
5

が、私は私に次のエラー回転数がビルドエラー

  • を与えているRPMパッケージを構築しようとした/usr/lib/rpm/find-debuginfo.shは/ usr/src/redhatの/ BUILD/RPMS 検索:無効な述語 `」 エラー:いずれかが、この中で私を助ける.can理由何ができるか/var/tmp/rpm-tmp.86590から不正終了ステータス(%インストール) ...おかげ

答えて

6

スペックファイルにBuildRoot変数を定義してみてください。 find-debuginfoスクリプトは、そのディレクトリを何度も調べ、そのディレクトリなしでは死ぬでしょう。

これは、通常のようなものになります。あなたの2番目の質問についてはBuildRoot: %{_tmpdir}/%{name}-%{version}-%{release}

を、私は直接スペックファイルとソースを見ずに言うことができない、と私は決してRPMの専門家でいます。最大RPMの第13章(無料で入手可能なコピーがあります)と、トムキャロウェイのプレゼンテーションのHow to make good RPM packagesの注記をお勧めします。あなたのスペックで

+0

BuildRootが見つからないのは、問題の正確な根源です。(それが..で始まったはずのように)問題をうまく解決します。ありがとう! – Shirkrin

5

あなたがトップでこれを行うことができます。

%define debug_package %{nil} 

これは、この問題

1

に迂回しなければならないのRedHat 5.3サーバー上に構築しようとしたとき、私はちょうどこれと同じ問題をヒット。ここに私が見つけたものがあります。このエラーは、空のRPM_BUILD_ROOT変数が原因で発生しているようです。以下は、1問題のある行さ:RPM_BUILD_ROOTが定義されていない場合は

find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \ 
       \(-perm -0100 -or -perm -0010 -or -perm -0001 \) \ 
       -print | 

、そして見つけるための最初の引数は、このエラーが発生し、空の文字列「」、です。面白いことに、$RPM_BUILD_ROOTから引用符を削除すると、最初の引数が "!"になるので、コマンドは正常に動作します。スペックファイルに "BuildRoot:"を定義する必要はないので、これは私のバグのようです。