我需要自己编译tcl / tk并想添加tcltls-Package。 因为我不想依赖系统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)库的链接:
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大约有380kB。 ActiveState tcltls.so 2,3MB
在Linux上使用tcl8.6.8 + tcltls-1.7.16。
感谢任何提示/想法/帮助!
马蒂亚斯