3

我正在尝试编译 pgbouncer 以在 windows server 2008 中运行的 PostgreSQL 服务器中使用。但是我根本无法编译 dll,并且在 linux (ubuntu) 和 windows 中出现了相同的错误:

检查 libevent... 配置:错误:未找到:无法继续

我正在关注这个 howto。我已经使用mingw在 windows 中编译了libevent ,并将生成的 dll 复制到 System32、SysWOW64 甚至在自己的 pgbouncer 目录中。我究竟做错了什么?

4

3 回答 3

4

configure正在检查包构建是否可以链接libevent。为此,它需要满足libevent 开发 依赖项。它不仅检查是否libevent可以找到链接本身,而且检查是否可以找到头文件<event.h>(完全一样)进行编译。

为了configure成功,您必须确保:-

  • event.h从您的libevent包中将在编译器的默认或配置的包含搜索路径中找到。

  • 二进制文件将libevent在链接器的默认或配置的库搜索路径中找到。

在您提到的HowTo的顶部附近,您会看到它configure接受一个 --with-libevent=libevent-prefix可以简化此操作的参数。./configure --help 说:

--with-libevent=prefix  Specify where libevent is installed

对于您的 ubuntu 系统,简短的回答是:libevent-dev从包管理器安装。在 Ubuntu 中,您也可以pgbouncer从包管理器安装,但也许您想要最新版本。

于 2015-10-29T08:58:53.863 回答
2

您需要安装 libevent-devel,它提供 2 个 event.h 文件:

# find / -name event.h 2>/dev/null 
/usr/include/event.h
/usr/include/event2/event.h

要安装运行:

yum install libevent-devel.x86_64
于 2018-11-22T17:04:00.390 回答
0

如果您想为 Windows 编译 pgBouncer,请按照我在https://sepppenner.github.io/PgBouncerWinBinaries/https://github.com/SeppPenner/PgBouncerWinBinaries下的说明进行操作。

于 2020-03-19T10:20:13.910 回答