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

我知道这已经快四年了,但是对于其他可能偶然发现此页面的人来说,就像我在寻找解决方案时一样:

rpmbuild我遇到了同样的问题,在自动生成的临时脚本中插入了回车符。发生这种情况的原因是因为我最初在 Windows 文本编辑器中编辑了规范文件(其中插入了回车符),然后将文件 SCP 到 CentOS 框中,因此回车符引发了错误。如果您在 Linux 环境中重新制作文件,它应该可以正常工作。

祝你好运!

编辑:我对 Linux 很陌生,所以我不知道有一个名为“dos2unix”的命令可以为基于 Unix 的环境适当地转换文本文件。:) 希望对遇到此问题的其他人有所帮助。

于 2013-04-08T17:03:21.000 回答
2

有点晚了……但是……

构建失败后,vi/打开文件 /var/tmp/rpm-tmp.2932(或该构建的任何文件)并转到第 28 行。无论该行的命令是什么,都是失败的。从这个输出中,它可能是“$'\r'”,它是伪造的,而不是命令或有效语句......所以你可能有错字或其他东西。

你说它发生在 %build、%install 和 %files 中?您发出的构建命令是什么?

于 2009-10-20T22:52:05.420 回答