尝试使用pgcrypto时出现未定义符号:EVP_cast5_cbc

问题描述 投票:0回答:1

尝试使用 PostgreSQL 的 pgcrypto 扩展,但每当我尝试启动服务器时都会得到这个

undefined symbol: EVP_cast5_cbc

[postgres@localhost ~]$ pg_ctl start -D /usr/local/pgsql/data
waiting for server to start....2024-04-26 10:39:15.326 CEST [3036]: db=,user=,app=,client= LOG:  00000: pgaudit extension initialized
2024-04-26 10:39:15.326 CEST [3036]: db=,user=,app=,client= LOCATION:  _PG_init, pgaudit.c:2202
2024-04-26 10:39:15.338 CEST [3036]: db=,user=,app=,client= FATAL:  58P01: could not load library "/usr/local/pgsql/lib/pgcrypto.so": /usr/local/pgsql/lib/pgcrypto.so: undefined symbol: EVP_cast5_cbc
2024-04-26 10:39:15.338 CEST [3036]: db=,user=,app=,client= LOCATION:  internal_load_library, dfmgr.c:245
2024-04-26 10:39:15.338 CEST [3036]: db=,user=,app=,client= LOG:  00000: database system is shut down
2024-04-26 10:39:15.338 CEST [3036]: db=,user=,app=,client= LOCATION:  UnlinkLockFiles, miscinit.c:985
stopped waiting
pg_ctl: could not start server

Postgres 是从源代码编译的,版本为 15.6。

如果需要,这是我的 openssl 版本:

OpenSSL 3.0.7 2022 年 11 月 1 日(库:OpenSSL 3.0.7 2022 年 11 月 1 日)

postgresql pgcrypto
1个回答
0
投票

看起来您使用与当前安装的版本不同的 OpenSSL 版本构建了 pgcrypto。现在

EVP_cast5_cbc
已于 1998 年添加到 OpenSSL,因此使用的版本一定是非常旧的版本。

要找出链接的库,请运行

ldd /usr/local/pgsql/lib/pgcrypto.so
© www.soinside.com 2019 - 2024. All rights reserved.