天天看点

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结

skynet是为在线游戏服务器打造的轻量级框架,使用c+lua实现,支持linux 。使用这套框架能获得很大收益,其中一个就是,基本只需要用lua开发,很少用到c,提高了开发效率。但是,skynet本身对系统有很大依赖性,安装说明过于简单,没有提及到。所以文章这里总结linux安装skynet问题,希望有所帮助。

skynet的安装过程

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结

简单3步,对于很多高版本的系统来说,可能就这3步。但是,低版本系统可能无法安装,如下:

1. gcc版本问题

2. 缺少 readline

3. 缺少 ncurses

4. 缺少 git (非必要项,则要手动下载skynet及3rd下的jemalloc)

5. 缺少 autoconf

所以,这里以CentOS5.5系统做说明,这系统不具备以上几个条件,甚至连git都无法通过包管理来安装。在skynet的编译过程中,如果在make步骤出现错误,要用 make cleanall 清除已编译的文件,不然会出现莫名其妙的错误。

在早期的skynet版本,lua不能清除干净,若是这样,执行:cd 3rd/lua && make clean && cd -

注意:想学习skynet的朋友可以关注+后台私信“skynet”视频学习地址:

https://ke.qq.com/course/2806743?flowToken=1025549

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
问题1:缺少git
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

这里要安装git,在安装git过程中,非常重要一步是安装curl,而这一步会把git所有的依赖装上,如curl和openssl,而git编译时也要找到curl库

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
问题2:git https错误
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

很多网友都是说把https换成git解决,但也只是暂时性的。报错是git安装时系统缺少curl导致的,参考问题1重装git

重装git后,如果还不行,应该是git软连接问题,如下修正:ln -sf /usr/bin/git /bin/git

问题3:缺少readline
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

yum -y install readline-devel

问题4:缺少ncurses
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

很多网友说修改Makefile,在SYSLIBS变量中追加" -lncurses "选项,但这样不方便,以后还会遇到这个问题。所以这里建议手动安装readline

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结

备注:

1、国内连接http://gnu.org网站不是很稳定,可能wget要多试几次。

2、通过ldconfig -p |grep readline可以测试readline的库是否成功加载

3、如果还无法解决,执行以下命令(建议先备份下):

rm -rf /usr/lib/libreadline*

ldconfig

如果是64位机器:

rm -rf /usr/lib64/libreadline*

ldconfig

问题5:lua整数编译报错
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

这个是skynet最常见的编译失败了,和gcc版本有关,升级gcc可以解决问题。

最简单的方法:修改Makefile,在CFLAGS 加入 -std=gnu99

如果不想手动改,可用以下命令:

sed -i "s|CFLAGS =|CFLAGS = -std=gnu99 |" Makefile

如果是升级gcc参考问题6的解决方式。

问题6:gcc编译器问题
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

这是gcc版本问题,解决方法就是到高版本(如gcc4.5)下载一个linux_atomic.c文件,将其编译为一个静态库链接到你的项目代码,具体做法也比较麻烦。所以,这里推荐重装gcc。

另外,编译skynet建议gcc最低版本4.6.0,可自动下载并更新依赖包。安装gcc过程会比较久,要耐心等待

安装gcc步骤如下:(确保磁盘可用空间至少4G)

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结

注意了,要确保 download_prerequisites 安装成功。因为国内连接http://gnu.org网站不是很稳定,可能出现类似错误:

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结

如果重试了很多次都无法成功,尝试手动安装吧,主要就3个依赖gmp和mpfr、mpc,装好后再继续执行gcc ../configure及后面的步骤。

linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
问题7:缺少autoconf
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

yum -y install autoconf

问题8:链接错误
linux c语 curl代码_linux下安装游戏服务器框架skynet问题总结
解决:

虚拟机共享目录不能设置软连接,选择其他目录安装