Bitcoin 编译0.19版本时“undefined reference to `OPENSSL_init_crypto‘”
Posted 落霞与孤鹜亓飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bitcoin 编译0.19版本时“undefined reference to `OPENSSL_init_crypto‘”相关的知识,希望对你有一定的参考价值。
我在0.19版本的比特币上需要修改其源代码,所以不得不通过修改源代码的方式进行安装部署,结果现在最新版本已经到了0.20版本以后了,0.20以后的版本编译的时候需要可以用openssl1.1.1g就可以,但是0.19版本的用openssl1.1.1g版本就不行,我找了好久问题都没找到,最后终于找到问题了,我把openssl的版本回退到openssl1.0.2a,结果进行编译就通过了。
步骤如下:
- 首先下载openssl1.0.2a, openssl历史版本可以从这里下载
wget https://www.openssl.org/source/openssl-1.0.2a.tar.gz
- 然后解压缩
tar -zxvf openssl1.0.2a
- 然后编译
./config --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make && make install
prefix 是安装目录,openssldir是配置文件目录,另外建议安装两次,shard作用是生成动态链接库
然后按照正常流程编译比特币源码即可。
./autogen.sh
./configure --disable-wallet
sudo make
sudo make install
ok,就这样就可以通过编译了。玛德这个问题困扰了我快一周,算是解决了。
以上是关于Bitcoin 编译0.19版本时“undefined reference to `OPENSSL_init_crypto‘”的主要内容,如果未能解决你的问题,请参考以下文章