1

Я пытаюсь установить openssl по источнику, который я запускаю:

wget  wget ftp://ftp.openssl.org/source/openssl-1.0.2g.tar.gz
tar xvzf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config --prefix=/home/david/project shared 
make depend
make test
make install
make

Сбой после выполнения теста make:

make[2]: Leaving directory `/home/david/project/openssl-1.0.1s'
make[2]: Entering directory `/home/david/project/openssl-1.0.1s/test'
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[2]: *** [link_app.gnu] Error 1
make[2]: Leaving directory `/home/david/project/openssl-1.0.1s/test'
make[1]: *** [bntest] Error 2
make[1]: Leaving directory `/home/david/project/openssl-1.0.1s/test'
make: *** [tests] Error 2

Как можно установить libssl-dev из исходного кода, поскольку я не использую менеджер пакетов?


РЕДАКТИРОВАТЬ. Я имел:

[root@localhost lib64]# ls -l libssl*
-rwxr-xr-x. 1 root root 258456 Dec 15 19:46 libssl3.so
lrwxrwxrwx. 1 root root     16 Feb 27 22:10 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 441240 Jan  8 14:45 libssl.so.1.0.1e

и добавил:

[root@localhost lib64]# ls -l libssl*
-rwxr-xr-x. 1 root root 258456 Dec 15 19:46 libssl3.so
lrwxrwxrwx. 1 root root     16 Mar 18 16:24 libssl.so -> libssl.so.1.0.1e
lrwxrwxrwx. 1 root root     16 Feb 27 22:10 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 441240 Jan  8 14:45 libssl.so.1.0.1e

Как я мог обойти, добавив символическую ссылку? Есть ли что-то, что я мог бы сделать как вариант установки?

1 ответ1

0

./config --prefix =/home/david/project shared

Я обычно не использую PREFIX. Я бы рекомендовал использовать OPENSSLDIR, так как конфигурация OpenSSL поддерживает опцию:

wget ftp://ftp.openssl.org/source/openssl-1.0.2g.tar.gz
tar xvzf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config shared no-ssl2 no-ssl3 no-comp --openssldir=/home/david/project 

make depend
make test
make install

Кроме того, у вас, кажется, есть дополнительная make . Я предполагаю, что вам, вероятно, это не нужно. Какой цели это служит?

make depend
make test
make install
make

Кроме того, вы можете избежать локальной установки man-страниц и просто использовать make install_sw:

make depend
make test
make install_sw

Вам также следует рассмотреть возможность использования RPATH, чтобы избежать проблем со связыванием во время выполнения:

export MYPATH=/home/david/project 
./config shared no-ssl2 no-ssl3 no-comp -Wl,-rpath=${MYPATH}/lib --openssldir=${MYPATH}

РЕДАКТИРОВАТЬ. Я имел...

Прежде чем начать установку в существующий каталог установки, вам, вероятно, следует просто удалить старую локальную установку:

export MYPATH=/home/david/project
rm -rf ${MYPATH}

./config shared no-ssl2 no-ssl3 no-comp -Wl,-rpath=${MYPATH}/lib --openssldir=${MYPATH}
make
make test
make install_sw

Также см. Компиляция и установка в OpenSSL вики. В нем обсуждаются префиксы, OPENSSLDIR и RPATH. Также обсуждаются другие параметры конфигурации, такие как no-ssl2 , no-ssl3 и no-comp .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .