“brew install osm2pgsql”失败了

时间:2013-08-20 01:21:31

标签: macos postgresql homebrew openstreetmap

我正在使用mac,我想安装osm2pgsqlOSM数据导入PostgreSQL

我在终端中执行brew install osm2pgsql。 (我已经执行了brew update)。

这是输出:

==> Downloading https://github.com/openstreetmap/osm2pgsql/archive/v0.82.0.zip
Already downloaded: /Library/Caches/Homebrew/osm2pgsql-0.82.0.zip
==> ./autogen.sh
==> ./configure --with-proj=/usr/local/opt/proj
checking for fork... yes
checking for xml2-config... /usr/bin/xml2-config
checking for xml2 libraries... yes
checking for zlib compression library... no
configure: error: required library not found

READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting

这是执行brew doctor

的输出
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
    /usr/local/lib/libMonoPosixHelper.dylib
    /usr/local/lib/libSFFileMonitor.32.dylib
    /usr/local/lib/libSFIPC.32.dylib
    /usr/local/lib/libSFIPC.I.dylib
    /usr/local/lib/libSFsqlite3.7.4.dylib
    /usr/local/lib/libSFSyncEngine.I.dylib

我不知道这些dylib,我应该删除它们吗?

我应该怎么做才能安装osm2pgsql

或者我应该放弃osm2pgsql并使用其他工具将OSM数据导入PostgreSQL

[编辑1]

根据http://www.zlib.net/,zlib已作为Mac OS X的一部分包含在内。

当我在谷歌搜索时,我发现了这个https://github.com/josegonzalez/homebrew-php/issues/205https://github.com/josegonzalez/homebrew-php/issues/538

所以我执行以下两个命令:

brew tap homebrew/dupes
brew install zlib

结果输出为:

==> Downloading http://zlib.net/zlib-1.2.8.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/zlib/1.2.8
==> make install
==> Caveats
This formula is keg-only: so it was not symlinked into /usr/local.

Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/zlib/lib
    CPPFLAGS: -I/usr/local/opt/zlib/include

==> Summary

似乎我没有安装zlib。

我再次执行brew install osm2pgsql,但它仍无效。

[编辑2]

我放弃自制软件并通过二进制安装程序安装osm2pgsql。

供参考:
http://wiki.openstreetmap.org/wiki/Osm2pgsql#Binary_Installer https://github.com/openstreetmap/osm2pgsql/issues/15

3 个答案:

答案 0 :(得分:1)

我对brew一无所知,但根据错误消息,您错过了zlib库。尝试先安装它。

你应该保持osm2pgsql,因为它是将OSM数据导入PostgreSQL数据库的标准工具。

答案 1 :(得分:0)

您必须使用以下命令编辑公式:

brew edit <formula_name>

然后,你必须在brew env中进行所需的导出,最好的地方是在调用

之前的安装函数中
system "./configure", *args

以下是要追加的行

ENV.append 'LDFLAGS', "-L/usr/local/opt/zlib/lib"
ENV.append 'CPPFLAGS', "-I/usr/local/opt/zlib/include"

完成后,您只需再次运行brew安装即可运行

答案 2 :(得分:0)

我编辑了公式,因为它也没有在Mac OS X Mavericks上运行。查看使其成功安装的要点。

https://gist.github.com/christoph-buente/e18584e312bcadfe82e5

我向自制软件库提交了拉取请求。希望它会被合并:

https://github.com/Homebrew/homebrew/pull/29862