我正在尝试将OpenSSL版本OpenSSL_1_1_0f
从源安装到一个托管目录,因为我需要静态链接到它。我已经阅读了编译和安装页面,以确定我需要传递哪些./config
标志,以便用相对路径安装它。
这是我的安装脚本:
#!/usr/bin/env bash
VENDOR_DIR="vendor"
VENDOR_LIB=$VENDOR_DIR/lib
mkdir -p $VENDOR_LIB
# OpenSSL library info.
OPENSSL_BRANCH="OpenSSL_1_1_0f"
OPENSSL_SOURCE="openssl-source"
echo "installing openssl"
git clone git://git.openssl.org/openssl.git $VENDOR_DIR/$OPENSSL_SOURCE -b $OPENSSL_BRANCH
pushd $VENDOR_DIR/$OPENSSL_SOURCE
./config --prefix=$VENDOR_LIB --openssldir=$VENDOR_LIB -O3
make
make test
make install
OpenSSL正在安装到/usr
的默认位置,而不是$VENDOR_LIB
,这是我需要安装的位置。我需要将哪个标志组合传递给./config
脚本才能设置目标安装目录?
答案 0 :(得分:0)
如果我只尝试你的配置行,我就明白了:
$ ./config --prefix=vendor/lib --openssldir=vendor/lib -O3
Operating system: x86_64-whatever-linux2
Configuring for linux-x86_64
Configuring OpenSSL version 1.1.0g-dev (0x10100070L)
Directory given with --prefix MUST be absolute
所以尝试给出绝对路径名而不是相对路径名。
答案 1 :(得分:0)
如果要将OpenSSL安装到相对路径,只需尝试--prefix=$(pwd)/$VENDOR_DIR
。