Является ли Canonical переименованием символов в их пакетной версии openssl, и если да, то с какой целью? Когда я компилирую openssl-1.0.0e.tar.gz (скачанный с openssl.org напрямую) с нуля, я вижу необходимый символ, но Python (и я) не может найти его в упакованной версии.
Продолжайте читать для получения дополнительной информации о том, как я диагностировал эту проблему ...
Я пытаюсь скомпилировать Python 2.6.1 в Ubuntu 11.10 и получить сообщение об ошибке выше. Причина, по которой я использую этот старый Python, заключается в том, что я пытаюсь сделать установку Ubuntu на 100% совместимой с производственной системой для целей разработки.
При выполнении
strace -feopen make -j4 |& grep "libssl"
Я вижу, что использую многообещающий файл:
[pid 22614] open ("/ usr / lib / x86_64-linux-gnu // libssl.so", O_RDONLY) = 7
Запуск nm, в этом файле нет символов. Однако файл .a имеет аналогичный:
0000000000000030 T SSLv23_method
Пакет libssl1.0.0-dbg устанавливается через synaptic, однако, когда я перечисляю установленные файлы для этого пакета, я вижу только «Список установленных файлов, доступный только для установленных пакетов», что явно является ошибкой Ubuntu. Поэтому я не уверен, как я должен проверить, какие символы присутствуют в .so.
Однако я подозреваю, что в любом случае они переименовали SSLv2_method в SSLv23_method.
Как узнать статус openssl-1.0.0 в Ubuntu?