make: pg_config: Not a directory make: *** No rule to make target 'installcheck'

问题描述 投票:0回答:6

我使用源代码安装了 postgres 版本 13

wget https://ftp.postgresql.org/pub/source/v13.5/postgresql-13.5.tar.gz && tar -xvf postgresql-13.5.tar.gz && rm -f postgresql-13.5.tar.gz

./configure --enable-debug --enable-cassert --prefix=$(pwd) CFLAGS="-ggdb -Og -fno-omit-frame-pointer"

make install

安装成功,我尝试使用

git clone https://github.com/apache/age.git

安装AGE

然后我切换到分支 1.3.0 使用

git switch release/PG13/1.3.0

在 AGE 目录中,我使用

sudo make PG_CONFIG=/home/chidera/bitnine/postgresql-13.5/src/bin/pg_config install

将 PG_CONFIG 环境变量设置为 pg_config 路径

我一直收到这个错误

make: pg_config: Not a directory make: *** No rule to make target 'installcheck'.  Stop.

当我在安装 postgresql 的目录中运行此

find / -name pg_config
命令时。 我得到这个作为回应 ./home/chidera/bitnine/postgresql-13.5/src/bin/pg_config

我正在使用 WSL 和 ubuntu。

database postgresql apache apache-age
6个回答
1
投票

我通过运行您在问题中提供的命令在 Ubuntu 22.04 LTS 上复制了这个错误,有效的方法是从指向 PG_CONFIG 的目录中删除

src/
,如下所示:

sudo make PG_CONFIG=/home/chidera/bitnine/postgresql-13.5/bin/pg_config install

安装 PostgreSQL 后设置以下环境变量也是一个好习惯,用您的 PostgreSQL 安装目录替换

/path/to/postgres

export PATH=/path/to/postgres/bin:$PATH
export PGDATA=/path/to/postgres/bin/data

1
投票

我认为如上所述,您当前为 PF-CONFIG 提供的路径存在问题。所以第一步是检查路径及其正确性,一种方法是运行以下命令

ls /home/chidera/bitnine/postgresql-13.5/src/bin/pg_config

这个的结果应该是 pg-config 文件。如果它没有返回,那么您将再次安装。

但是,如果问题仍然存在,请尝试按如下方式安装 AGE:

sudo make USE_PGXS=1 PG_CONFIG=/home/chidera/bitnine/postgresql 13.5/src/bin/pg_config install

希望对您有所帮助!


0
投票

您需要从您的路径中删除

/pg_config
。 正确的命令应该是

sudo make PG_CONFIG=/home/chidera/bitnine/postgresql-13.5/src/bin

0
投票

在安装 postgreSQL 之前运行

./configure
查询时,将基本安装目录指定为
pwd
(当前工作目录)。它会将您的 postgreSQL 安装在您的自定义目录中,即 pwd 因为您可能安装了多个 posgreSQL 实例。

./configure --prefix=$(pwd) --enable-cassert --enable-debug CFLAGS="-glldb -ggdb -Og -g3 -fno-omit-frame-pointer"

重复接下来的安装步骤。


0
投票

我在安装postgresql的时候也遇到了这个错误,我也是用WSL Ubuntu的。

首先,我建议使用删除所有以前的安装

make clean

然后使用重新配置postgresql

./configure --prefix=$(pwd) --enable-debug --enable-cassert

--prefix 指定要安装 postgresql 的位置,在这种情况下它将在当前工作目录中。

然后重新安装postgresql

gmake; gmake install;

安装后你应该在 pwd 中看到

bin
目录,pg_config 文件在
bin
目录而不是
src/bin
目录。

然后您可以尝试从您的 Age 目录再次运行 PG_CONFIG,这次尝试使用相对路径。例如;

sudo make PG_CONFIG=../postgresql-13.5/bin/pg_config install

如果postgresql和Age在同一个目录下。 我希望这会有所帮助。


0
投票

问题似乎出在未正确设置 PG_CONFIG 环境变量上。错误消息“make: pg_config: Not a directory make: *** No rule to make target 'installcheck'”表明 make 正在尝试在目录中查找 pg_config,但它没有在那里找到它。

您可以尝试如下设置PG_CONFIG环境变量:

export PG_CONFIG=/home/chidera/bitnine/postgresql-13.5/src/bin/pg_config

然后再次运行make命令。这应该正确设置环境变量并允许 make 找到 pg_config.

或者,您可以尝试在 make 命令中使用 pg_config 的完整路径:

sudo make PG_CONFIG=/home/chidera/bitnine/postgresql-13.5/src/bin/pg_config/pg_config install

确保包括 pg_config 可执行文件的完整路径,而不仅仅是它所在的目录。

如果这些解决方案都不起作用,您可以尝试检查 pg_config 文件是否存在于 PG_CONFIG 环境变量指定的目录中。您可以通过运行以下命令来执行此操作:

ls /home/chidera/bitnine/postgresql-13.5/src/bin/pg_config

如果文件不存在,您可能需要重新安装PostgreSQL并重试。

© www.soinside.com 2019 - 2024. All rights reserved.