无法在 linux 和 windows 中编译 pgbouncer

Can't compile pgbouncer neither in linux nor in windows

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

checking for libevent... configure: error: not found: cannot proceed

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

configure 正在检查是否可以构建包 至 link libevent。为此,它需要查看 libevent development 依赖关系得到满足。它不仅检查可以找到 libevent 本身 对于 linkage 但 header <event.h>(完全一样)可以 找到编译。

configure成功,您必须确保:-

  • event.h 来自您的 libevent 包将在默认或 配置编译器的 include-search 路径。

  • libevent 二进制文件将在默认或配置的 library-search 中找到 linker.

  • 的路径

靠近您 HowTo 的顶部 已经提到你会看到 configure 接受一个参数 --with-libevent=libevent-prefix 可以使这变得容易。 ./configure --help 说:

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

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

您需要安装 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

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