10

尝试安装 Git,我运行了 configure 和 make,但收到以下错误消息:

make:阅读器中的致命错误:Makefile,第 221 行:看到意外的行尾

Makefile 看起来像:

218:    GIT-VERSION-FILE: FORCE
219:            @$(SHELL_PATH) ./GIT-VERSION-GEN
220:    -include GIT-VERSION-FILE
221:
222:    uname_S := $(shell sh -c 'uname -s 2>/dev/null øø echo not')

是什么导致了错误?

以下信息可能相关也可能不相关:

  • 我尝试在 SunOS 5.9 (Solaris 9) 上安装 Git 1.7.0.3,位于我帐户的目录中。
  • gcc 版本是 3.4.2(比 sunfreeware.com 声明的 3.4.6 版本旧)。
  • 我没有root权限。
4

6 回答 6

10

gmake在 SunOS 上使用,而不是make为我解决此问题。

于 2014-11-04T00:40:54.517 回答
6

使用gmake而不是make.

通常 solaris 有两个命令,gmakemake. 这gmake是GNU风格的make命令,make也是solaris风格的make命令。我希望你已经用 GNU 风格编写了你的​​ makefile。所以使用gmake命令。

于 2014-04-30T14:25:02.250 回答
2

这可能是由于您的 makefile 中的 DOS 行尾 (CRLF)。我刚刚遇到了类似的问题,并通过在 makefile 上运行 dos2unix 解决了它。Linux make 似乎对同一个 makefile 毫不在意。

于 2014-12-13T12:45:32.733 回答
1

你的“make”有问题,安装“make-3.81.tar”然后试试

于 2010-06-04T15:59:38.510 回答
1

确保您实际上已经标记了该行并且它不是所有的空格。我遇到了这个问题,但我发现该命令没有正确插入,这就是我遇到这个错误的原因。

于 2010-05-05T22:47:06.573 回答
1

我使用 2 个简单的 makefile 遇到了这个错误,其中一个正在工作,另一个产生了错误。

两者都有正确的标签行,并且都有“CRLF”行结尾。

出于某种原因,我设法通过将行结尾更改为 "LF" 来解决问题,但我很困惑为什么另一个 makefile 被成功解析,即使它有 "CRLF" 结尾。然而,有一个线索:前一两次,“make”给出了另一个错误:

mksh: Warning: newline is not last character...

在文本编辑器中打开 makefile 并在末尾添加一行后,它开始产生 OP 的错误。

在这种情况下,最好有一个可以显示行尾和制表符的编辑器。

于 2017-01-29T16:00:13.950 回答