Информация о версии недоступна

Я использую 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. Файлы есть и не являются ссылками.

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

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

2 ответа

Я полагаю, я должен перейти прямо к делу...

Проблема: 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 для проверки того, какие библиотеки используют бинарные файлы, также было неоценимым для понимания этого.

Хорошего дня.

Мистер Э. Чувак

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

Я нашел Google для "патча 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's 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 с помощью скрипта версии, включенного в исходный пакет исходных кодов, по 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 который привел меня на правильный путь.

Взгляните на ответ, который я опубликовал в этом вопросе. Думаю, это тот же случай, что и ваш. Во всяком случае, я выполнил следующие команды:

Для libssl.so.1.0.0:

  • sudo rm /usr/local/ssl/lib/libssl.so.1.0.0
  • sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 usr/local/ssl/lib/libssl.so.1.0.0

Для libcrypto.so.1.0.0:

  • sudo rm /usr/local/ssl/lib/libcrypto.so.1.0.0
  • sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/local/ssl/lib/libcrypto.so.1.0.0
Другие вопросы по тегам