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

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

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目录看,我的库文件呢?怎么啥都没有?😭

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

相关链接


This page is synchronized from the post: 每天进步一点点:手工编译boost_1.65.1

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×