Makefile错误:看到意外的行结束

时间:2010-04-01 02:28:56

标签: git makefile solaris sun sunos

尝试安装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')

导致错误的原因是什么?

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

  • 我尝试安装Git 1.7.0.3 SunOS 5.9(Solaris 9)位于我帐户的目录中。
  • gcc版本是3.4.2(早于 版本3.4.6所述 sunfreeware.com)。
  • 我没有root权限。

6 个答案:

答案 0 :(得分:11)

在SunOS而不是gmake上使用make为我解决了这个问题。

答案 1 :(得分:3)

使用gmake代替make

一般来说,solaris有两个命令,gmakemake。在此gmake是GNU样式make命令,make是solaris样式make命令。我希望你已经用GNU风格编写了你的​​makefile。所以使用gmake命令。

答案 2 :(得分:2)

这可能是由于makefile中的DOS行结尾(CRLF)造成的。我刚刚遇到类似的问题,并通过在makefile上运行dos2unix解决了这个问题。 Linux make似乎不受同一个makefile的影响。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

我遇到了2个简单的makefile,其中一个正在运行,另一个产生错误。

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

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

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

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

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