从源代码构建Erlang OTP的OpenSSL错误

Ale*_*zin 1 erlang install openssl rpath ld

尝试构建一个完全独立的OTP,可以独立于系统上安装的库移动.

从源代码构建OpenSSL 1.0.0d如下:

./config --prefix=<open-ssl-dir>
make
make install
Run Code Online (Sandbox Code Playgroud)

那么OTP R14B03:

./configure --prefix=<erlang-dir> --with-ssl=<open-ssl-dir> --without-termcap
Run Code Online (Sandbox Code Playgroud)

然后Erlang的make失败如下:

relocation R_X86_64_32 against `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC
Run Code Online (Sandbox Code Playgroud)

我们正在谈论Ubuntu 10.04.任何帮助非常感谢 - 谢谢!

War*_*ker 5

"在创建共享对象时不能使用;使用-fPIC重新编译"将意味着SSL不是使用位置独立代码标志构建的.将其构建为动态共享对象(DSO)需要这样做.这可能是Erlang构建过程所需要的.示例构建:

$ tar zxvf openssl-0.x.tar.gz
$ cd openssl-x
$ sh config shared -fPIC
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)