2014-02-07 1 views
2

У меня возникает странная ошибка при попытке запустить регрессионный пакет PostgreSQL 8.4.2 на новый экземпляр Ubuntu, который я создал на Amazon EC2.make check не запускается в Postgres 8.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/regress, есть 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 

Даже когда я нажимаю make и make check, используйте GNUmakefile, через -f GNUmakefile, та же ошибка.

Обратите внимание, что я могу запустить набор регрессии только на моей домашней машине.

Есть ли у кого-нибудь идеи, почему он не работает над экземпляром EC2?

EDIT: На моей домашней машине я запускаю Ubuntu 12.04. Экземпляр EC2 работает 13.10. Обе машины работают с версией 3.81.

+0

последняя версия второстепенный в 8,4 линии 8.4.19. И даже тогда 8.4 будет EOL этим летом. –

+0

Вы используете ту же версию Ubuntu на своей домашней машине, как в Amazon? – Rico

+0

@Rico Я отредактировал мой вопрос, чтобы содержать эту информацию. – stepthom

ответ

2

У вас должна быть испорченная загрузка или выписка. Там, как вы подозревали, должно быть src/test/regress/GNUmakefile. Попробуйте загрузить снова.

+0

Вы правы, этот файл просто отсутствовал по какой-то причине. Спасибо за вашу помощь. – stepthom

2

Это то, что этот каталог выглядит как на шахте:

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

Да, спасибо за ваш комментарий. Это была моя проблема: просто пропустить этот файл по любой причине. – stepthom