Openssl

不使用 ssl 編譯 ntp

  • June 30, 2013

我需要將 ntp 部署到一個空間非常關鍵的 pxe 成像系統。(是的,每個 KB 都很重要。)佔用空間需要盡可能小,所以我想在不連結 openssl 的情況下編譯 ntp。根據手冊,這應該是可能的:

如果可用,來自http://www.openssl.org的 OpenSSL 庫用於支持公鑰加密。該庫必須在建構 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 的正確配置選項是什麼?

知道了!

通過研究配置腳本,我發現您實際上必須使用

./configure --without-crypto

代替

./configure --without-openssl

為我工作:

[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)。也許這是一個更具體的好時機?

引用自:https://serverfault.com/questions/517907