4

rpm ビルドのデバッグに助けが必要でした。%files、%build、または %install ディレクティブに遭遇するたびに、エラーが発生し、「[rpm] + $'\r'」が何を意味するのか理解できません。

  [rpm] Building the RPM based on the LBR.spec file
  [rpm] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.2932
  [rpm] + umask 022
  [rpm] + cd /home/user.username/workspace/LBR/dist/BUILD
  [rpm] + LANG=C
  [rpm] + export LANG
  [rpm] + unset DISPLAY
  [rpm] + $'\r'
  [rpm] /var/tmp/rpm-tmp.2932: line 28:
  [rpm] : command not founderror: Bad exit status from /var/tmp/rpm-tmp.2932 (%build)
  [rpm]     Bad exit status from /var/tmp/rpm-tmp.2932 (%build)
  [rpm]
  [rpm]
  [rpm] RPM build errors:
4

2 に答える 2

6

私はこれがほぼ4年前のものであることを知っていますが、私が解決策を探していたように、このページに出くわす可能性のある他の人のために:

rpmbuild自動生成された一時スクリプトに改行文字が挿入されるという同じ問題がありました。これが発生する理由は、最初に Windows テキスト エディター (キャリッジ リターンを挿入) でスペック ファイルを編集し、ファイルを CentOS ボックスに SCP したため、キャリッジ リターンがエラーをスローしたためです。Linux 環境でファイルを作り直せば、問題なく動作するはずです。

幸運を!

編集: 私は Linux に非常に慣れていないので、Unix ベースの環境に合わせてテキスト ファイルを適切に変換する「dos2unix」というコマンドがあることを知りませんでした。:) この問題に遭遇した他の人に役立つことを願っています。

于 2013-04-08T17:03:21.000 に答える
2

ちょっと遅い…でも…

ビルドが失敗した後、ファイル /var/tmp/rpm-tmp.2932 (またはそのビルド用のもの) を vi/open し、28 行目に移動します。その行にあるコマンドが何であれ、それが失敗の原因です。この出力から、それはおそらく "$'\r'" であり、これは偽物であり、コマンドまたは有効なステートメントではありません... したがって、おそらくタイプミスか何かがあります。

%build、%install、および %files で発生したと言いましたか? 発行しているビルドコマンドは何ですか?

于 2009-10-20T22:52:05.420 に答える