Нет информации о версии

Я использую Ubuntu 12.04 - сервер и постоянно получаю:

/usr/lib/libcrypto.so.1.0.0: информация о версии отсутствует (требуется/usr/lib/libpython2.7.so.1.0)

и

/usr/lib/libssl.so.1.0.0: информация о версии отсутствует (требуется/usr/lib/libpython2.7.so.1.0)

сообщения об ошибках без каких-либо шаблонов для почему. Это может быть что-то простое, как запуск vi.The файлы есть, и они не являются ссылками.

Это началось немного после компиляции и установки OpenLDAP, используя инструкции со своего сайта, изучая основы сервера ldap. Конечно, я удалил openLDAP, чтобы попытаться устранить проблему. Я также переустановил OpenSSL и libssl1.0.0, чтобы попробовать и проверить это решение.

Любая помощь будет принята с благодарностью, Google не был к сожалению полезен.

Ответ 1

Я полагаю, что я должен догадаться...

Проблема: libssl.so.1.0.0 и libcrypto.so.1.0.0 нет информации о версии, доступной для предупреждения/ошибки.

Я РЕШЕН ЭТО!!! УРА!!! (Фейерверк должен уходить и т.д.)

После долгих исследований, времени и усилий (занявших недели), вот что я, наконец, закончил...

В каталоге, в котором вы закончили извлечение исходного кода для вашей версии openssl 1.0.1h (Должен работать и для других версий.) Я создаю файл с именем openssl.ld

В этом файле поставьте это...

Ответ

OPENSSL_1.0.0 {
    global:
    *;
};

сохраните его. Теперь введите...

сделать чистым (просто чтобы быть уверенным, что мы начинаем свежий.)

Теперь для действительно потрясающей части...

./config --prefix=/usr/local --openssldir=/usr/local/openssl shared -Wl,--version-script=openssl.ld -Wl,-Bsymbolic-functions

Тогда...

make

make test

make install

ldconfig

И это должно сделать это. (Это так просто. Никаких исправлений не требуется.)

Я применил это решение для Debian Wheezy как 32, так и 64-разрядных версий. И сделали наблюдение. 64-битная версия автоматически по умолчанию использует новые файлы libssl.so.1.0.0 и libcrypto.so.1.0.0, созданные в каталоге /usr/local/lib. 32-разрядная версия этого не делает. Вот почему я сначала подумал, что 32-разрядная версия Debian Wheezy не пострадает от этой проблемы, но она делает, как только вы получите 32-разрядную версию для использования новых библиотек openssl в каталоге /usr/local/lib.

Использование команды ldd для проверки того, какие библиотеки используют двоичные файлы, неоценимо для понимания этого.

Хороший день.

г. E. Чувак

Ответ 2

Я также получал это раздражающее предупреждение после компиляции и установки последней версии openssl из source (openssl-1.0.1f). После некоторых исследований наряду с некоторыми проб и ошибок, я смог исправить проблему для моего конкретного сценария. Это в основном сводилось к тому, что говорится в предупреждающем сообщении. В библиотеках, которые были построены из источника, нет информации о версии. Это то, что команда Ubuntu добавила в свой дистрибутив. Итак, решение состоит в том, чтобы перекомпилировать ваш источник openssl после исправления его версией script, которая включена в дистрибутив Ubuntu для openssl.

Я Google'd для "patch openssl, чтобы содержать информацию о версии для ubuntu", и мне удалось найти исходный пакет, который мне нужен, в https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1.debian.tar.gz,

Итак, здесь последовал следующий процесс:

rm -r -f -v openssl-1.0.1f (just to make sure you start fresh)
wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
tar -xvf openssl-1.0.1f.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1.debian.tar.gz
tar -xvf openssl_1.0.1f-1ubuntu1.debian.tar.gz
mv debian openssl_1.0.1f-1ubuntu1 (just because that what I did)
cd openssl-1.0.1f/
patch -p1 < ../openssl_1.0.1f-1ubuntu1/patches/version-script.patch
./config
make
make test
sudo make install

Теперь сообщение об ошибке должно исчезнуть.

Стоит отметить, что изначально я исправил исходный файл openssl-1.0.1f с версией script, включенной в исходный исходный пакет, из http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5.11.debian.tar.gz. Но мой make терпел неудачу с ошибкой. Я предполагаю, что имеет смысл, что мне нужно получить ту же версию 1.0.1f.

Кредит отправляется @mattcasw за сообщение http://ubuntuforums.org/showthread.php?t=1905963, которое привело меня к правильному пути.