编译不使用 SSL 的 ntp

编译不使用 SSL 的 ntp

我需要将 ntp 部署到一个非常占用空间的 pxe 映像系统。(是的,每个 KB 都很重要。)占用空间需要尽可能小,所以我想在不链接 openssl 的情况下编译 ntp。根据手册这应该是可能的:

如果可用,OpenSSL 库来自http://www.openssl.org用于支持公钥加密。必须在构建 NTP 之前构建并安装该库。执行此操作的过程包含在 OpenSSL 文档中。在正常 NTP 配置阶段可以找到该库,并且会自动编译接口例程。只需要 libcrypto.a 库文件和 openssl 头文件。如果库不可用或被禁用,则不需要此步骤。

我已经尝试过了

./configure --without-openssl

然而,这并没有帮助。这是我的 ldd 输出:

ldd ntpd/ntpd
        linux-gate.so.1 =>  (0xb7706000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb76d5000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7582000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7578000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb741d000)
        /lib/ld-linux.so.2 (0xb7707000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7419000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7404000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb73eb000)

我正在编译的系统是使用 openssl 0.9.8g-15+lenny16 的 32 位 debian lenny。

不使用 openssl 来编译 ntp 的正确配置选项是什么?

答案1

对我有用:

[me@risby ntp-4.2.6p5]$ ./configure --without-openssl && make

[me@risby ntp-4.2.6p5]$ ldd ntpd/ntpd
    linux-vdso.so.1 =>  (0x00007fffd516c000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003838a00000)
    librt.so.1 => /lib64/librt.so.1 (0x0000003838600000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003837a00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003837e00000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003837600000)

你可以吗展示我们这样做对你不起作用吗?(别忘了先做一次make distclean。)

编辑:是的,我已经安装了:

[me@risby ntp-4.2.6p5]$ rpm -qa|grep openssl
openssl-1.0.0k-1.fc17.x86_64
openssl-devel-1.0.0k-1.fc17.x86_64

您没有告诉我们有关您的发行版的任何信息(甚至没有告诉我们操作系统,尽管我们从您的ldd输出中知道它是 Linux)。也许现在是时候更具体一点了?

答案2

知道了!

通过研究配置脚本,我发现你实际上必须使用

./configure --without-crypto

代替

./configure --without-openssl

相关内容