2022-08-01 约 227 字 预计阅读 2 分钟
skynet升级到1.5.0
skynet升级到1.5.0
对应lua版本:lua5.4.3
skynet地址
升级步骤
创建分支skynet1.5
删除skynet目录的所有文件,解压或同步skynet1.5.0的代码到skynet目录
1
git submodule update --init
jemalloc库若未初始化成功,可手动克隆到3rd/jemalloc目录中
1
git clone https://gitee.com/mirrors/jemalloc.git
编译报错
1
2
skynet-src/spinlock.h:50:23: fatal error: stdatomic.h: No such file or directory
升级Gcc值4.9及以上版本
gcc多版本共存。
1
2
3
4
5
6
7
devtoolset - 3 对应 gcc4 . x . x版本
devtoolset - 4 对应 gcc5 . x . x版本
devtoolset - 6 对应 gcc6 . x . x版本
devtoolset - 7 对应 gcc7 . x . x版本
devtoolset - 8 对应 gcc8 . x . x版本
devtoolset - 9 对应 gcc9 . x . x版本
devtoolset - 10 对应 gcc10 . x . x版本
1
sudo yum install centos-release-scl
安装devtoolset,注意,如果想安装11.版本的,就改成devtoolset-11-gcc
1
sudo yum install devtoolset-11-gcc*
激活对应的devtoolset,可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。
1
2
3
scl enable devtoolset-11 bash
#或
source /opt/rh/devtoolset-8/enable
1
echo "source /opt/rh/devtoolset-11/enable" >>/etc/profile
gcc安装报错
1
2
3
4
Transaction check error :
file / usr / lib / debug / usr / lib64 / libitm . so . 1.0 . 0. debug from install of devtoolset - 8 - gcc - debuginfo - 8.3 . 1 - 3.2 . el7 . x86_64 conflicts with file from package gcc - base - debuginfo - 4.8 . 5 - 39. el7 . x86_64
file / usr / lib / debug / usr / lib64 / libatomic . so . 1. debug from install of devtoolset - 8 - gcc - debuginfo - 8.3 . 1 - 3.2 . el7 . x86_64 conflicts with file from package gcc - debuginfo - 4.8 . 5 - 39. el7 . x86_64
file / usr / lib / debug / usr / lib64 / libtsan . so . 0.0 . 0. debug from install of devtoolset - 8 - gcc - debuginfo - 8.3 . 1 - 3.2 . el7 . x86_64 conflicts with file from package gcc - debuginfo - 4.8 . 5 - 39. el7 . x86_64
1
yum remove gcc-base-debuginfo-4.8.5-39.el7.x86_64
skynet服务启动报错
1
2
3
[ root@dev127 myb_dev] # sh/test/debug_test.sh
try open snlua failed : luaclib/snlua.so: cannot open shared object file: No such file or directory
[ :00000000] Bootstrap error : snlua bootstrap
./skynet example/config 报错
1
2
3
[ root@dev127 skynet] # ./skynet examples/config
try open snlua failed : ./cservice/snlua.so: undefined symbol: lua_resetthread
[ :00000000] Bootstrap error : snlua bootstrap
源码安装gcc11.2.0
skynet升级改动文件
文件
修改
skynet/service-src/service_logger.c
* 添加文件日志及转储功能。
skynet/lualib-src/lua-clientwebsocket.c
+
skynet/lualib-src/lua-mysqlaux.c
+
skynet/lualib-src/lua-profile.c
+
skynet/lualib-src/lua-websocketnetpack.c
+
skynet/lualib/snax/wsgateserver.lua
+
skynet/service/debug_console.lua
* 添加ag等命令
skynet/service/wsgate.lua
+
skynet/Makefile
* 添加 wsnetpack.so等库