Скомпилировать OpenSSL с опцией 'shared'? - PullRequest
25 голосов
/ 29 марта 2010

В CentOS 5.4 OpenSSL прекрасно компилируется без опции «shared». Но когда я пропустил эту опцию, компиляция не удалась:

/ usr / bin / ld: libcrypto.a (x86_64-gcc.o): перемещение R_X86_64_32 к `локальному символу 'нельзя использовать при создании общего объекта; перекомпилировать с -fPIC

Когда я пытаюсь: ./config shared CFLAGS=-fPIC, это не работает.

Что я могу сделать, чтобы OpenSSL компилировался с опцией 'shared'?

Спасибо

Ответы [ 4 ]

27 голосов
/ 26 сентября 2013

Та же проблема здесь, НО обычно Makefiles учитывает переменные среды для опций компилятора или компоновщика.

Итак, если вы поместите параметр -fPIC перед вызовом скрипта configure, он должен позаботиться об этом. Вы можете сделать это с:

CFLAGS=-fPIC ./config shared --prefix=/your/path

или

export CFLAGS=-fPIC
./config shared --prefix=/your/path

Это сработало для меня.

17 голосов
/ 07 мая 2014

Существует опция -fXXX, которую вы можете передать в config, чтобы вы могли сделать это с помощью:

./config -fPIC shared
1 голос
/ 18 января 2018

Вот как я построил OpenSSL с общими библиотеками. Обратите внимание, что я использую кросс-компилятор, поэтому я указываю вещи, которые большинство не будет.

# hop into the downloads folder
cd ~/Downloads
# get the branch of openssl you want
git clone -b OpenSSL_1_0_2-stable --single-branch https://github.com/openssl/openssl.git
# make an installation directory
mkdir openssl-install
# go into the cloned openssl directory
cd openssl
# absolute paths needed for the configure
# the "-fPIC -mhard-float" are CFLAGS specific to my project
# the "-shared" is what creates the .so files
# find your desired configuration with `./Configure LIST`
./Configure linux-mips32 --prefix=/home/myusername/Downloads/openssl-install --openssldir=/system/ssl -fPIC -mhard-float -shared
# run the make file (with my specific compiler)
make CC=mips-linux-gnu-gcc RANLIB=mips-linux-gnu-ranlib LD=mips-linux-gnu-ld MAKEDEPPROG=mips-linux-gnu-gcc PROCESSOR=MIPS
1 голос
/ 29 марта 2010

OpenSSL версии 1.0 (опубликовано сегодня) отлично работает с общим параметром

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...