Postgresql 在Postgres 8.4.2中,检查未能启动

Postgresql 在Postgres 8.4.2中,检查未能启动,postgresql,amazon-ec2,gnu-make,postgresql-8.4,Postgresql,Amazon Ec2,Gnu Make,Postgresql 8.4,我在AmazonEC2上创建的新Ubuntu实例上运行PostgreSQL8.4.2的回归套件时,遇到了一个奇怪的错误 我可以成功配置PostgreSQL: $ ./configure [ Output not shown ] $ tail -1 config.log configure: exit 0 它构建得很好: $ make [ Ouput clipped ] All of PostgreSQL successfully made. Ready to install. 但当我尝试运行

我在AmazonEC2上创建的新Ubuntu实例上运行PostgreSQL8.4.2的回归套件时,遇到了一个奇怪的错误

我可以成功配置PostgreSQL:

$ ./configure
[ Output not shown ]
$ tail -1 config.log
configure: exit 0
它构建得很好:

$ make
[ Ouput clipped ]
All of PostgreSQL successfully made. Ready to install.
但当我尝试运行回归套件时,我收到一个错误:

$ make check
[ Ouput clipped ]
make[2]: Entering directory `/home/ubuntu/stock/postgresql-8.4.2/src/test/regress'
You must use GNU make to use Postgres.  It may be installed
on your system with the name 'gmake'.
但是,我相信我正在运行GNU Make:

$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

$ ls -l `which gmake`
lrwxrwxrwx 1 root root 13 Feb  6 17:41 /usr/bin/gmake -> /usr/bin/make
我看到在
src/test/regresse
目录中有一个Makefile:

$ cat src/test/regress/Makefile 
# The Postgres make files exploit features of GNU make that other makes
# do not have.  Because it is a common mistake for users to try to build
# Postgres with a different make, we have this make file that does nothing
# but tell the user to use GNU make.

# If the user were using GNU make now, this file would not get used because
# GNU make uses a make file named "GNUmakefile" in preference to "Makefile"
# if it exists.  Postgres is shipped with a "GNUmakefile".

all install clean check installcheck:
    @echo "You must use GNU make to use Postgres.  It may be installed"
    @echo "on your system with the name 'gmake'."
该Makefile中的注释表示该目录中应该有一个名为
GNUmakefile
的文件,但没有:

$ ls src/test/regress/*akefile 
src/test/regress/Makefile
顶级目录中有一个GNUMakefile:

$ ls *akefile
GNUmakefile  Makefile
即使我通过
-f GNUmakefile
强制
make
make check
使用
GNUmakefile
,也会发生相同的错误

注意,我可以在我的家用机器上运行回归套件

有人知道为什么它不能在EC2实例上工作吗


编辑:在我的家用电脑上,我运行的是Ubuntu 12.04。EC2实例正在运行13.10。这两台机器都在运行make 3.81版。

您的下载或签出一定有问题。正如您所怀疑的,应该有一个
src/test/regresse/GNUmakefile
。请再次尝试下载。

您的下载或签出一定有问题。正如您所怀疑的,应该有一个
src/test/regresse/GNUmakefile
。请再次尝试下载。

这是我的目录的外观:

$ ls src/test/regress/*akefile
src/test/regress/GNUmakefile  src/test/regress/Makefile

这就是我的目录的外观:

$ ls src/test/regress/*akefile
src/test/regress/GNUmakefile  src/test/regress/Makefile

8.4系列中最新的次要版本是8.4.19。即使这样,8.4也将在今年夏天下线。你在家用电脑上使用的Ubuntu版本是否与亚马逊相同?@Rico我编辑了我的问题以包含这些信息。我在EC2实例上的Ubuntu 12.04上运行了这个版本,它运行得很好。8.4系列中最新的次要版本是8.4.19。即使这样,8.4也将在今年夏天下线。你在家用电脑上使用的Ubuntu版本是否与亚马逊相同?@Rico我编辑了我的问题,以包含这些信息。我在EC2实例上的Ubuntu 12.04上运行了这个版本,它运行得很好。你是对的,该文件只是因为某种原因而丢失了。谢谢你的帮助。你是对的,那个文件只是因为某种原因丢失了。谢谢你的帮助。是的,谢谢你的评论。这就是我的问题:不管出于什么原因丢失了那个文件。是的,谢谢你的评论。这就是我的问题:不管什么原因,我都会丢失那个文件。