связывание статических библиотек с помощью libtool

Как связать статическую библиотеку (.a) с libtool?

Я создаю модуль Apache (mod_shib_22.so) который использует три библиотеки RSA libcertc.a , libcertcsp.a а также libbsafe.a
Я связываю эти библиотеки с -lcertc -lcertcsp -lbafe но при загрузке модуля я получаю ошибки «Symbol undefined»:

./apachectl -k stop httpd: Syntax error on line 426 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/lib64/shibboleth/mod_shib_22.so into server:  /usr/local/lib64/shibboleth/mod_shib_22.so: undefined symbol: T_GetDynamicList

Я использую эти строки в Makefile:

LDFLAGS = -L../../libraries/Crypto-C-6.4.0.3/lib/linux_lsb30_x86_64 -L../../libraries/Cert-C-2.9.0.0/lib/LinuxLSB30_x86_64/release_mt
LIBOBJS =
LIBS = -lxerces-c -L/usr/local/lib64 -llog4shib -lnsl -lcertc -lcertcsp -lbsafe -ldl

1

Решение

Связывание DSO (в данном случае модуля Apache) со статической библиотекой не гарантируется, и, вероятно, не будет работать в зависимости от того, как создаются объекты в статической библиотеке. Обычно объекты в статических библиотеках не создаются с позиционно-независимый код включен, но DSO требовать позиционный независимый код.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]