1、下载openssl源码
wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
tar zxvf openssl-1.0.1f.tar.gz
2、进入源码目录,如果不是新下载解压的目录,而且以前有编译安装过的,进入目录后执行make clean以确保能重新编译
cd openssl-1.0.1f
3、为了不要和已安装的openssl混淆,这里指定一个新的安装目录
./config –prefix=/opt/ssl
4、config之后,会生成Makefile,打开Makefile找到gcc,在CFLAG参数列表里加上-fPIC
vim Makefile
CC= gcc
CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
5、编译并安装
make && make install
6、现在进入你的erlang源码安装目录,如果已经编译安装过erlang,为确保能重新编译,先执行:
make clean
7、加上openssl安装路径重新configure,如果有安装多个版本的erlang,为了可以方便找到新安装的erl,这里可以指定一个新的安装目录,示例如下:
./configure –with-ssl=/opt/ssl/ –prefix=/opt/erlang
8、编译并安装
make && make install
如果出现错误:
如果在linux
下安装openssl
,执行config
和make
之后,在执行make install
时如果出现下面的错误
cms.pod around line 457: Expected text after =item, not a number
cms.pod around line 461: Expected text after =item, not a number
cms.pod around line 465: Expected text after =item, not a number
cms.pod around line 470: Expected text after =item, not a number
cms.pod around line 474: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 69.
则在root权限下,执行rm -f /usr/bin/pod2man
然后重新make install
9、运行刚才安装的erlang