我正在尝试在我们的 IBM i 系统上编译 PostgreSQL ODBC 驱动程序,但出现了一个奇怪的错误。我尝试编译的版本是 12.02,因为这是我们安装的 PostgreSQL 版本。
我正在运行的命令:
./configure --with-libpq=/QOpenSys/pkgs/lib/postgresql12/lib --with-iodbc=/usr/local/iODBC
事情就到此结束了:
checking for PQsetSingleRowMode in -lpq... no
configure: error: libpq library version >= 9.2 is required
我可以确认 libpq.so 和 libpq.so.5 都位于该目录中,并且 PostgreSQL 的版本是 12,因此它应该 >= 9.2。我已卸载并通过 yum 重新安装了所有 postgresql,但仍然收到相同的消息。
config.log 中的相关错误是
configure:12757: gcc -o conftest -g -O2 -Wall -I/usr/local/iODBC/include -I/QOpenSys/pkgs/lib/postgresql12/lib//include -I/QOpenSys/pkgs/lib/postgresql12/lib//include/postgresql/internal -I/QOpenSys/pkgs/lib/postgresql12/include -I/QOpenSys/pkgs/lib/postgresql12/include/internal -L/usr/local/iODBC/lib -L/QOpenSys/pkgs/lib/postgresql12/lib//lib -L/QOpenSys/pkgs/lib/postgresql12/lib conftest.c -lpq -lpthreads -liodbcinst >&5
ld: 0706-006 Cannot find or open library file: -l pq
ld:open(): No such file or directory
collect2: error: ld returned 255 exit status
我不知道那是什么意思,而且搜索也没有找到任何有用的信息。
我需要更改什么才能使其正常工作?或者,是否有一个存储库具有预编译的 IBM i PostgreSQL ODBC 驱动程序,我可以从中拉取,但我找不到?
答案1
你能试一下吗
--with-libpq=/QOpenSys/pkgs/lib/postgresql12 (without the /lib)