1

我正在尝试从源代码构建 Postgresql 8.3.1(稍后我需要在其顶部运行扩展补丁)。尽管如此,这src/tutorial并没有使

$make
make: pg_config: Command not found
make: *** No targets.  Stop.

我去bin了安装目录,发现pg_config.exe那里,我需要帮助才能使配置检测到它。

我试过类似的东西:

./configure --with-pg-config=path/pgsql/bin
 make
 make install

但它仍然无法正常工作。

谢谢

4

1 回答 1

3

在运行之前,您需要确保它pg_config位于可执行搜索路径(PATH环境变量)上configure

看来您可能正在将 MinGW 与 msys 一起使用,在这种情况下,您可以使用 Andrew 提出的语法。但是,根据文档,PostgreSQL 可执行文件的位置在 msys 上可能有点奇怪。UNIX 路径中有冒号,因此它们不能包含驱动器说明符c:\,因此 MinGW 将驱动器号“挂载”为根目录条目,如/c. 因此,c:\Program Files\PostgreSQL 8.3\bin你会使用:

"/c/Program Files/PostgreSQL 8.3/bin/pg_config.exe"

注意双引号。尝试在 msys 中将其作为命令运行,看看会发生什么。如果pg_config输出不是错误,请将其添加到PATHwith:

export PATH="$PATH:/c/Program Files/PostgreSQL 8.3/bin"

如果你在 Cygwin 上,那么:

  • 这不是一个真正理想的环境,半窗口半unix。考虑 MinGW+msys,或使用 Windows 平台 SDK 编译器和 Windows 构建脚本本地编译 PostgreSQL,按照从 Windows 上的源代码安装

  • Cygwin 也会挂载C:\/c/因此上面的路径对 Cygwin 应该同样有效。

如果您清楚地提到,这会容易得多:

  • 您的操作系统
  • 您的编译器和工具集

此外,a_horse_with_no_name 非常正确:现在安装 PostgreSQL 8.3.1 简直是疯了。绝对最低限度,您应该安装 8.3.21,即撰写本文时 8.3 系列的当前版本。根据版本策略,这与所有 8.3.x 版本完全兼容。然后,您应该在 8.3 生命周期结束之前开始紧急准备以更新到 9.2(或 9.1,如果您坚持的话);再次,请参阅版本政策。

于 2012-10-16T01:16:48.523 回答