从源码构建Emacs出现错误

4

我尝试从源代码构建emacs-23.1。

首先:

./configure 

然后我尝试着:
make

但是在开始时出现错误:

$ make
cd lib-src; make all                            \
      CC='gcc' CFLAGS='-g -O2 -Wno-pointer-sign ' CPPFLAGS='-D_BSD_SOURCE  ' \
      LDFLAGS='-Wl,-znocombreloc ' MAKE='make'
make[1]: Entering directory `/home/emacs-23.1/lib-src'
Makefile:144: *** commands commence before first target.  Stop.
make[1]: Leaving directory `/home/emacs-23.1/lib-src'
make: *** [lib-src] Error 2

我应该怎样解决它? 我尝试了很多版本的emacs,但每次都会得到这个错误。
谢谢。

1
http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_121.html - aartist
你从哪里下载源代码?你是否遵循安装文件(如果使用检出,则还需遵循INSTALL.bzr文件)中的说明? - jdd
完全相同的问题。你解决了吗?@jeremiahd - 这在虚拟机中使用干净的默认Ubuntu安装时会发生。INSTALL文件仅建议运行.\configure,然后运行make。 - George Mauer
db48x 在他们的答案中几乎肯定是正确的,aartist 在他们的评论中也是如此。要么获取不同的源 tarball,从不同的次要版本中获取 Makefile(并希望它能正常工作),或者在 Makefile 意识编辑器中打开该文件并进行编辑。这很可能是空格错误,虽然分发了这样的错误非常奇怪,但并不是荒谬的事情。 - jdd
2个回答

1
可能是因为"./configure"无法正确地从"src/Makefile.in"生成"src/Makefile"。 它无法正确理解行末的"\ "。所以我将"\^J"改为" ",即删除行末的"\ "并连接两行。包括"src/Makefile.in"和"lib-src/Makefile.in"。我不确定原因的根源,但无论如何,我可以构建"emacs"。

1

那个 makefile 是不正确的;它可能有一个杂乱的制表符。由于 configure 生成了那个 makefile,也许 makefile.in 不正确,或者 configure 替换到其中的某些变量中有一个制表符。我怀疑后者,因为您说在编译多个版本的 emacs 时出现了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接