收到错误:在对 openldap 进行 make install 时重新链接消息

收到错误:在对 openldap 进行 make install 时重新链接消息

我正在尝试在 Ubuntu 14.04 上从源代码编译/安装 OpenLDAP,./configure 运行顺利,make 也运行顺利,但是当我执行 amake install 时出现此问题:

/usr/bin/ld: /usr/lib/libssl.a(s23_meth.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/lib/libssl.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
libtool: install: error: relink `libldap.la' with the above command before installing it
make[2]: *** [install-local] Error 1
make[2]: Leaving directory `/home/user/Downloads/openldap-2.4.40/libraries/libldap'
make[1]: *** [install-common] Error 1
make[1]: Leaving directory `/home/user/Downloads/openldap-2.4.40/libraries'
make: *** [install-common] Error 1

上面确实提到了使用-fPIC它来进行编译,如下所示:

CFLAGS=-fPIC
CXXFlAGS=-fPIC
CPPGLAGS=-fPIC

所以我不认为这是问题,我认为这更多地与重新链接问题或错误值错误有关。

有什么想法我可以让它工作吗?

答案1

我能够使用以下方法修复它:

-D_GNU_SOURCE

与 CFLAGS 和 CPPFLAGS 的 -fPIC 一起使用

相关内容