每天进步一点点:手工编译boost_1.65.1

in #cn6 years ago

STEEM见证人节点(witness node)编译的时候需要链接boost库,STEEM推荐的编译环境为Ubuntu 16.04,boost库用的是1.58(直接安装)。


(图源 :pixabay)

但是我穷折腾,使用的Ubuntu 18.04作为编译环境,boost库也选了最新的1.6.7,不过我取巧了一点,直接拿别的机器上编译好的boost 1.6.7过来。

但是,感觉编译出来的steem有些问题,比如关闭后在重新打开,过段时间就会出错。我并不清楚是否和boost版本有关,还是和我GCC啥的都是用的新版本有关,但是为了追新,总有机会掉坑里的。

大神建议我试试boost 1.65,于是尝试一下手工编译1.65.1,貌似不是很麻烦,但是我确实又碰到一个大坑。

步骤

下载解压

找到boost对应版本下载链接
https://sourceforge.net/projects/boost/files/boost/1.65.1/

在当前用户下使用如下命令下载

wget https://sourceforge.net/projects/boost/files/boost/1.65.1/boost_1_65_1.tar.gz

解压压缩包

tar xzvf boost_1_65_1.tar.gz

编译安装

创建目标目录

mkdir ~/opt/boost_1.65.1

进入源码目录

cd boost_1_65_1

配置,注意此处的大坑,不能用~指定目标目录!!!

./bootstrap.sh "--prefix=~/opt/boost_1.65.1"
./bootstrap.sh "--prefix=/home/userxxxx/opt/boost_1.65.1"

编译安装

./b2 install

大坑

因为之前指定目标目录时直接用:>./bootstrap.sh "--prefix=~/opt/boost_1.65.1",编译完我看也没报错,就把源码包和目录都删掉了。

然后编译steemd的时候出现错误,我去boost目录看,我的库文件呢?怎么啥都没有?😭

后来试了几次才发现,只有用绝对路径,文件才会复制到对应目录里,浪费我至少一个小时的时间,哎。

相关链接

Sort:  

擦,忘记厚颜无耻求见证人票了,在这继续求,欢迎大家投我见证人票啊。

详细投票方法见:我的见证人节点跑起来了,希望大家支持

你把你的STEEM给我,我给你投票并代理回给你,这样你的投票数就咻咻咻的上去了,这办法是不是很好?
(你说有哪里不对?别在意这些细节)

投票力度这个事情,是按有效SP计算呢?还是按持有量呢?

什么地方都用 absolute path 是最保险了的吧

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 64202.90
ETH 3439.10
USDT 1.00
SBD 2.59