компилирование tcltls .so со статическим openssl-Lib - PullRequest
0 голосов
/ 04 января 2019

Мне нужно самому скомпилировать tcl / tk и добавить пакет tcltls. Поскольку я не хочу зависеть от систем openssl-lib, я хочу включить openssl в мой разделяемый объект.

Поэтому я установил openssl-static в системе и скомпилировал tcl / tcltls. Я пробовал также "./configure --enable-static-ssl", но tcltls всегда ссылается на системные библиотеки:

ldd tcltls.so
linux-gate.so.1 => (0xf77d2000)
libdl.so.2 => /lib/libdl.so.2 (0xf77b8000)
libresolv.so.2 => /lib/libresolv.so.2 (0xf779e000)
libssl.so.10 => /usr/lib/libssl.so.10 (0xf7735000)
libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0xf756a000)
libz.so.1 => /lib/libz.so.1 (0xf7555000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0xf7515000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0xf7437000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xf7432000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0xf7407000)
libc.so.6 => /lib/libc.so.6 (0xf7270000)
/lib/ld-linux.so.2 (0xf77d3000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0xf7263000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xf725f000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7244000)
libselinux.so.1 => /lib/libselinux.so.1 (0xf7225000)

Я проверил ActiveState tcltls-Package и не существует ссылки на системный ssl (или crypto) lib:

ldd tcltls.so
linux-vdso.so.1 => (0x00007ffdba8b9000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7f59e72000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7f59aa8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7f5a47f000)

Итак, как ActiveState-Crew компилирует tcltls или какие параметры мне нужно установить, чтобы получить статическую привязку ssl в мой пакет tcltls-shared-object-package?

Также размер общего объекта отличается (конечно): Мой tcltls.so имеет около 380 КБ. ActiveState tcltls.so 2,3MB

Использование tcl8.6.8 + tcltls-1.7.16 в Linux.

Спасибо за любые советы / идеи / помощь!
Матиас

...