我已经使用 MacPorts 在几台不同的计算机上安装了 PostgreSQL,没有问题,但是当涉及到我自己的笔记本电脑时,我无法构建它。

当我执行此命令时:

sudo port install postgresql83

我收到此错误:

checking test program... failed
configure: error:
Could not execute a simple test program.  This may be a problem
related to locating shared libraries.  Check the file 'config.log'
for the exact reason.

Error: The following dependencies failed to build: postgresql83
Error: Status 1 encountered during processing.

config.log 文件有 7000 行长,没有明显的问题(不过最后一行显示“exit 1”!)。

我确实有开发人员工具和未安装的内容,并且我已更新到最新版本的 MacPorts 并同步了我的端口树。我可以通过 MacPorts 安装其他东西。

我用谷歌搜索了这意味着什么,但没有结果。有什么建议么?谢谢!

更新:我 思考 这就是导致它失败的原因(来自 config.log):

configure:8307: ./conftest
dyld: Library not loaded: /opt/local/lib/libxml2.2
  Referenced from: /opt/local/lib/libxslt.1.dylib
  Reason: image not found

我已经安装了 libxml2 但也许它搞砸了。我卸载了 libxml2 和 libxslt 并重新安装它们,所以我们看看会发生什么。

有帮助吗?

解决方案

这是关键:

configure:8307: ./conftest
dyld: Library not loaded: /opt/local/lib/libxml2.2
  Referenced from: /opt/local/lib/libxslt.1.dylib
  Reason: image not found

这并不位于 config.log 的底部附近,而是位于第 700 行左右。

尽管我已经将 libxml 升级到适当的版本(这是我之前安装 postgresql 时必须解决的问题),但它无法与 libxslt 一起使用。

我卸载了libxml(我已经安装的两个版本)和libxslt,然后再次安装了postgresql,这次它能够构建。

如果你在构建 postgresql 时遇到这样的错误,请检查库。

顺便说一句,config.log 文件可以在如下位置找到:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_postgresql83/work/postgresql-8.3.6/config.log

其他提示

postgresql83是在MacPorts的8.3.6版本。那是你的副本正在使用相同的版本? “端口信息postgresql83”如果他们是不同的,执行“sudo端口自更新&& sudo的端口升级-u过时&& sudo的港口清洁postgresql83”把一切先进的日期,然后重试。

这是我所看到的,postgresql83应该依赖于libxml2的,不是的libxml。这应该已经MacPorts的处理。你可能想要做上述命令无论哪种方式(确保依赖更新和清洁目录再次尝试)。

我意识到这是不解决问题的答案,但谁不是MAC端口的粉丝是Mac用户,我找到了另一种解决方案安装的Postgres。而不是不久前,Postgres的网站下载部分开始推动的 EnterpriseDB的的一键安装

我试图通过MAC端口过去安装它,并最终定居手动从源代码安装它,它是一个痛苦。此安装程序是相当不错的。它把可执行程序在Mac-适当的地方,把它的图书馆/图书馆,甚至还包含了几个额外的程序来帮助工作,Postgres的。给它一个镜头,没有必要为拉你的头发有片状MAC端口安装时,有提供优质的安装程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top