【问题标题】:pg_config not found when building PostGIS source on Windows在 Windows 上构建 PostGIS 源时找不到 pg_config
【发布时间】:2017-02-14 19:03:06
【问题描述】:

我正在尝试使用this 文档在 Windows 上从源代码构建最新的稳定 PostGIS。我已经毫无问题地安装了 PostgreSQL。当我从 PostGIS 源执行配置脚本时,我遇到了这个问题:

配置:错误:在当前路径中找不到 pg_config。您可能需要使用 --with-pgconfig 参数重新运行配置。

如果我使用

指定 pg_config 文件,我会遇到这个问题
$ sh ./configure --with-pgconfig="c:/Program Files/PostgreSQL/9.6/bin/pg_config.exe"

配置:错误:用户指定的 pg_config 文件 c:/Program Files/PostgreSQL/9.6/bin/pg_config.exe 不存在

但它确实存在......

有人有什么建议吗?从源代码构建很重要。

【问题讨论】:

  • 1) 有一个错字:pg_cofig.exe 2) 如果您手动运行"c:/Program Files/PostgreSQL/9.6/bin/pg_config.exe",您会得到预期的输出吗? 3) Program Files 中的空格是否会出现问题,如果您对其进行转义或避免使用空格的路径名?
  • 1) 是的,很抱歉,它只是这里的一种类型,不在我的实验中(更新它)。 2)如果我只是运行 pg_config 可执行文件,它会按预期工作。 3)我认为引号解决了这个问题,但我尝试转义空间,仍然是同样的问题。
  • 对不起,请更新您下载的链接 Postgis 源。

标签: windows postgresql postgis


【解决方案1】:

这是configure 中的一个错误。

您可以从这条错误消息中看到:

./configure: line 15593: test: "C:\Program: binary operator expected

在那条线上,我看到configure

if test -f $PG_CONFIG; then

周围应该有双引号(以及对PG_CONFIG的其他引用)。

我可以想到两种解决方法:

  • 在路径名中没有空格的目录中安装 PostgreSQL。

  • C:\Program Files 下的目录中解压 PostGIS,然后像这样运行configure

    ./configure --with-pgconfig="../PostgreSQL/9.6/bin/pg_config.exe"
    

fix has been committed 到 PostGIS,所以它应该从 2.4.0 版开始工作。

【讨论】:

  • 谢谢!这击中了头上的钉子。现在它要求 PGXS makefile 并要求 PostgreSQL 服务器开发包,所以我想我需要以不同的方式安装 PostgreSQL。
  • 您需要安装包含PostgreSQL头文件和开发环境的软件包(通常称为devel或类似名称)。
  • 我给PostGIS发了一个补丁,已经应用了。
猜你喜欢
  • 2021-10-31
  • 2018-12-07
  • 2014-12-30
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2012-07-12
相关资源
最近更新 更多