1

我正在尝试从 slackware 14.1(32 位)中的源代码构建 corosync 2.3.4。

vanilla 配置找不到nss包(mozilla-nss-3.15.2-i486-2.txz)标头,因此我必须在配置之前将 CPPFLAGS 设置为“-I/usr/include/ -I/usr/include/ nss/-I/usr/include/nspr/”。

现在我在链接阶段遇到以下错误:

./.libs/libtotem_pg.so: undefined reference to `PK11_DigestFinal'
./.libs/libtotem_pg.so: undefined reference to `SECITEM_FreeItem'
./.libs/libtotem_pg.so: undefined reference to `PK11_ImportSymKey'
./.libs/libtotem_pg.so: undefined reference to `PK11_DigestBegin'
./.libs/libtotem_pg.so: undefined reference to `PK11_DigestOp'
./.libs/libtotem_pg.so: undefined reference to `PK11_DestroyContext'
./.libs/libtotem_pg.so: undefined reference to `PK11_CipherOp'
./.libs/libtotem_pg.so: undefined reference to `PK11_CreateContextBySymKey'
./.libs/libtotem_pg.so: undefined reference to `PK11_GenerateRandom'
./.libs/libtotem_pg.so: undefined reference to `PK11_ParamFromIV'
./.libs/libtotem_pg.so: undefined reference to `NSS_NoDB_Init'
./.libs/libtotem_pg.so: undefined reference to `PK11_FreeSlot'
./.libs/libtotem_pg.so: undefined reference to `PK11_GetBestSlot'
./.libs/libtotem_pg.so: undefined reference to `PR_GetError'

我的疯狂猜测是它找不到 nss 库(libnss .so*)。我已经尝试在配置之前将 LDFLAGS 设置为“-l/usr/lib/libnss3.so”,并且使用 LIBS="-L/usr/lib" 得到否定结果。

想法?

4

2 回答 2

0

您不需要将路径传递给带有 的库-l,只需将库的名称传递给不带前导“lib”部分的库。因此尝试:

LDFLAGS="-lnss3"

如果您要链接的库不在库路径中(即:不在/etc/ld.so.conf 中),您可以使用 指定路径-L,但情况并非如此。

于 2014-09-22T15:03:32.827 回答
0

我解决了这个问题,这是一个依赖问题。您可以在http://lists.corosync.org/pipermail/discuss/2014-September/003326.html中查看问题解决线索

于 2014-09-22T18:18:41.783 回答