LINUX.ORG.RU

Проблемы с установкой openssl на RedHat


0

1

Добрый день! Не подскажете, как правильно установить библиотеку openssl на старый Redhat(консольная версия)? Пробую устанавливать из исходников(./configure затем make&&make install) с сайта http://www.openssl.org/source/, но при запуске мое приложение не компилируются, не находится заголовочный файл openssl/sha.h и соответственно все функции и переменные библиотеки.

Перемещено mono из development


Маша, а на старом RedHat'e нет нужной тебе версии openssl?

./configure затем make&&make install

У configure должны быть указаны нужные параметры, как минимум prefix, или же ты в своём приложении должна указать тогда CFLAGS=-I/usr/local/include (или куда оно там по умолчанию идёт).
Для RedHat'a такой способ компиляции не приветствуется, иначе система превратится в помойку. Скачай srpm пакет и сделай rpmbuild -bb openssl.spec.

UVV ★★★★★
()
Ответ на: комментарий от UVV

Спасибо! из каких соображений указывается префикс? Допустим,есть какая-то версия, мое приложение все равно не находит заголовочный файл...

Masha
() автор топика
Ответ на: комментарий от Masha

prefix указывает, где в системе будет лежать openssl после выполнения шага make install. Обычно в системе все приложения скомпилированы с --prefix=/usr. На redhat'e я этого делать не советую, почему - написал выше.

UVV ★★★★★
()
Ответ на: комментарий от Masha

Такое впечатление, что библиотека не обновляется:( Выполняю openssl version OpenSSL 0.9.7a Feb 19 2003

Хотя предварительно я выполнила ./configure --prefix=/usr/local/apps

make && make install

Masha
() автор топика
Ответ на: комментарий от Masha

Скорее всего не флагов, а devel-пакетов тебе не хватает.

Правильный путь поиска нужной библиотеки, это

$ yum whatprovides */sha.h 

Команда покажет в каком пакете лежит этот файл.

А вообще гораздо удобнее работать с src.rpm. Там есть yum-builddeps и прочие удобные штуки.

На правах рекламы:

http://wiki.russianfedora.pro/index.php?title=Как пересобрать RPM-пакет

alpha ★★★★★
()
Ответ на: комментарий от Masha

Пробую компилировать с указанием -I/usr/local/apps/include Возникает следующая проблемма /usr/bin/ld: cannot find -lcripto collect2: ld returned 1 exit status

Masha
() автор топика
Ответ на: комментарий от Masha

Как установить yum на RedHat?

А можно узнать точную версию используемого дистрибутива и зачем ты его мучаешь?

alpha ★★★★★
()
Ответ на: комментарий от alpha

А можно узнать точную версию используемого дистрибутива и зачем ты его мучаешь?

Присоединяюсь к вопросу.

UVV ★★★★★
()
Ответ на: комментарий от UVV

По этому пути в каталоге bin у меня нет openssl:(

Masha
() автор топика
Ответ на: комментарий от Masha

Red Hat Enterprise Linux 3 (Taroon), 2003-10-22. Uses Linux 2.4.21-4

А по-подробнее? Какая-то железяка там есть или что? Почему именно он?

UVV ★★★★★
()
Ответ на: комментарий от Deleted

Нет, такой возможности нет.Я не понимаю, у меня же был установлен старый openssl.Как мне его прилинковать?

Masha
() автор топика
Ответ на: комментарий от UVV

Техническое требование, которое не обсуждается. Может, кто-то сталкивался с подобными проблемами при использовании openssl?

Masha
() автор топика
Ответ на: комментарий от Masha

http://rpmfind.net/linux/RPM/redhat-archive/9/i386/openssl096b-0.9.6b-3.i386....

Там в src.rpm с десяток патчей, можно по ним пройтись, ну и вообще по спеку, посмотреть что поправлено в исходниках чтобы оно успешно собралось.

alpha ★★★★★
()
Последнее исправление: alpha (всего исправлений: 1)

Маша решила curl скомпилировать. Поаплодируем же упрству!

anonymous
()
Ответ на: комментарий от Masha

Я вижу в каталоге /lib файлы libcripto.so.4 (символьная ссылка, указывает на то, что выводится в версии libcripto.so.0.9.7a), как бы сама библилиотека у меня вроде как есть, но вот заголовочный файл openssl/sha.h, указанный в программе, почему-то определить не удается...

Masha
() автор топика
Ответ на: комментарий от Masha

Открыть текстовым редактором, прочитать, понять зачем он и попытаться найти, что ему соответствует в новой версии исходников.

Например, там есть подозрительный openssl-..-mkdepend.patch, который переписывает кучу зависимостей в Makefile

alpha ★★★★★
()
Ответ на: комментарий от alpha

Все же странно, не могу понять..У меня в сам дистрибутив входит эта библиотека, то есть пакет openssl-0.9.7a-2 (rpm -qa | grep openssl) почему мне не удается им воспользоваться...

Masha
() автор топика
Ответ на: комментарий от Masha

Может лучше начать с описания проблемы? :)

А то пока про «не удается воспользоваться системным пакетом» тут ничего не было.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Я пытаюсь скомпилировать приложение на rhel3, использующее библиотеку openssl

#include <openssl/sha.h>

#include <string>
#include <iostream>

using namespace std;

int main(int argc, const char* argv[])
{
    unsigned char  digest[SHA_DIGEST_LENGTH] = {0};   // SHA1 digest - the results of SHA1 hashing, equals 20 bytes
    string  inputStr = "467897623672";

    if(argc > 1)
    {
        inputStr.assign(argv[1]);
    }

    // Apply SHA1 hashing
    SHA1((unsigned char*) inputStr.c_str(), inputStr.size(), digest);

    // Output the result (bytes in hex mode)
    cout << " Input string: " << inputStr << endl;
    cout << " Output value: ";
    for(int  i = 0; i < SHA_DIGEST_LENGTH; i++)
    {
        cout << hex << int(digest[i]);
    }
    cout << endl;

    return 0;
}

Я думала, что мне необходимо ставить библиотеку для этого, и я попробовала установить ее из исходников, взятых отсюда http://www.openssl.org/source/ При компиляции заголовочный файл #include <openssl/sha.h> не находится. Потом я выяснила,что библиотека у меня установлена,можно узнать ее версию openssl version, есть файлы в каталоге /lib, почитала, в дистрибутив входит пакет с библиотекой,если я правильно понимаю, у меня

rpm -qa | grep openssl
openssl-0.9.7a-2

Masha
() автор топика
Ответ на: комментарий от Masha

почему мне не удается им воспользоваться...

команда выдает /usr/bin/openssl

По моему проблема решена.
Или я вопроса не очень правильно понял ?

dada ★★★★★
()
Ответ на: комментарий от dada

Может быть, но я не понимаю, как это решает проблему...

Masha
() автор топика
Ответ на: комментарий от alpha

Думаю, нет...

rpm -qa | grep devel

glibc-devel-2.3.2-11.9
freetype-devel-2.1.3-6
XFree86-devel-4.3.0-2
compat-libstdc++-devel-7.3-2.96.118
cyrus-sasl-devel-2.1.10-4
libstdc++-devel-3.2.2-5
ncurses-devel-5.3-4
readline-devel-4.3-5
fontconfig-devel-2.1-9
e2fsprogs-devel-1.32-6
w3c-libwww-devel-5.4.0-4
Masha
() автор топика
Ответ на: комментарий от dada

Я просто тред не читал. Думал проблема с запуском openssl.

Потому что какой-то умник (подозреваю тазика) перенёс тред из development.

Перемещено mono из development

Собрат тазика по несчастью детектед

UVV ★★★★★
()
Последнее исправление: UVV (всего исправлений: 1)
Ответ на: комментарий от Masha

Значит надо ставить. Стандартные пакеты обычно содержат только сами бинарники и библиотеки, а всякие заголовочные файлы выделяются в devel и их ставят только для сборки чего-нибудь.

Вот вроде рпмка ftp://archive.download.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/o...

alpha ★★★★★
()
Ответ на: комментарий от Masha

Ну так надо поставить devel пакет для openssl и забыть про ручную компиляцию.

UVV ★★★★★
()
Ответ на: комментарий от Masha

Разберись с сетью, или нагугли другое зеркало, что тут ещё сказать?

alpha ★★★★★
()
Ответ на: комментарий от Masha

Если у вас все в порядке, не могли бы Вы выложить пакет на обменник и прислать ссылку.

Masha
() автор топика
Ответ на: комментарий от alpha

поставив этот пакет и зависимый от него пакет krb5-devel удалось собрать приложение. Всем спасибо!

Masha
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.