Posts

编译Hived & 升级本地大电脑至Ubuntu 24.04.5 LTS

3 comments·0 reblogs
oflyhigh
87
0 views
·
1 min read

关注HIVE开发的朋友可能会注意到一周前hived推出了1.28.8版本(非硬分叉版本),很多见证人都已经更新自己的节点到了这个新版本。

ubuntu-3145957_960_720.png
(图源 :pixabay)

O哥当然也跃跃欲试,不过按着以往的步骤在本地大电脑上编译hived 1.28.8,却遇到类似如下的错误:

error: static assertion failed: std::atomic requires a trivially copyable type

看起来大概是当前使用的 C++ 标准库不支持 std::atomic 写法,说是C++20 才正式支持 std::atomic<std::shared_ptr> 这种特化形式。

这大概是我本地大电脑Ubuntu版本过低,自带GCC版本过低的缘故。一般来讲,解决的思路可以是升级GCC或者升级Ubuntu。但是我自作聪明决定去一台VPS上编译hived 1.28.8。

VPS是linode的主机,运行Ubuntu 24.04.5 LTS,折腾了大半天,总算编译成功了。结果在VPS上编译出来的hived竟然无法在我大电脑上运行。

看来我还是要升级本地大电脑到Ubuntu 24.04.5 LTS,哎!

升级很简单,因为每次登录时,屏幕都会给我提示:
25119bf6a5ee1dcb55e94f2c8e175b1c.png

所以我只需直接执行如下指令即可:

do-release-upgrade

然后按提示一步一步确认即可(基本上可以一路确认)。

当然了,我大电脑上跑着HIVE本地节点,和一大堆脚本,升级之前,要把节点和脚本都妥善关闭。

执行到最后,系统会提示重启
f372e54ff8543bc1a53795ce65ad6e8b.png

按提示重启后,再登录后,就会看到已经成功升级啦
4554c6049519c91d1a4e1829d99f47ba.png

升级完成后,再次运行VPS上编译出来的hived就可以运行啦,然后就是漫长的Replay!

image.png
(图源 :pixabay)

我记得以前一天内就可以完成的Replay,现在竟然用了三四天还没完成。莫非是受不同编译环境的影响?

不过我决定还是等这次Replay完成,把见证人节点先升级上去,然后再研究重新在本地编译一下,看看Replay会不会提速!

要做的事情还是好多呀!