linux lua socket编程,CentOs 安装lua,luasocket

一、centos安装Lua

3)个人在这里选择使用5.1版本的

*下载

wget http://www.lua.org/ftp/lua-5.1.5.tar.gz

--2013-10-14 16:23:17--  http://www.lua.org/ftp/lua-5.1.5.tar.gz

Resolving www.lua.org... 89.238.129.35, 2a02:40:41::5

Connecting to www.lua.org|89.238.129.35|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 221213 (216K) [application/octet-stream]

Saving to: “lua-5.1.5.tar.gz”

*解压文件

tar -xzvf lua-5.1.5.tar.gz

*安装

[root@xxx lua-5.1.5]# make

Please do

make PLATFORM

where PLATFORM is one of these:

aix ansi bsd freebsd generic linux macosx mingw posix solaris

See INSTALL for complete instructions.

提示输入 参数指定安装的系统平台

[root@xxx lua-5.1.5]# make linux

cd src && make linux

make[1]: Entering directory `/root/down/lua-5.1.5/src'

make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"

make[2]: Entering directory `/root/down/lua-5.1.5/src'

gcc -O2 -Wall -DLUA_USE_LINUX   -c -o lua.o lua.c

In file included from lua.h:16,

from lua.c:15:

luaconf.h:275:31: error: readline/readline.h: No such file or directory

luaconf.h:276:30: error: readline/history.h: No such file or directory

lua.c: In function ‘pushline’:

lua.c:182: warning: implicit declaration of function ‘readline’

lua.c:182: warning: assignment makes pointer from integer without a cast

lua.c: In function ‘loadline’:

lua.c:210: warning: implicit declaration of function ‘add_history’

make[2]: *** [lua.o] Error 1

make[2]: Leaving directory `/root/down/lua-5.1.5/src'

make[1]: *** [linux] Error 2

make[1]: Leaving directory `/root/down/lua-5.1.5/src'

make: *** [linux] Error 2

这里又报了个错, 百度了一下,未安装一些必须的开发环境

yum install -y readline-devel ncurses-devel

执行一下上边的安装

然后继续lua的安装

[root@xxx lua-5.1.5]# make linux

cd src && make linux

make[1]: Entering directory `/root/down/lua-5.1.5/src'

make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"

make[2]: Entering directory `/root/down/lua-5.1.5/src'

gcc -O2 -Wall -DLUA_USE_LINUX   -c -o lua.o lua.c

gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses

gcc -O2 -Wall -DLUA_USE_LINUX   -c -o luac.o luac.c

gcc -O2 -Wall -DLUA_USE_LINUX   -c -o print.o print.c

gcc -o luac  luac.o print.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses

make[2]: Leaving directory `/root/down/lua-5.1.5/src'

make[1]: Leaving directory `/root/down/lua-5.1.5/src'

下一步:

[root@xxx lua-5.1.5]# make install

cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1

cd src && install -p -m 0755 lua luac /usr/local/bin

cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp /usr/local/include

cd src && install -p -m 0644 liblua.a /usr/local/lib

cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

如此安装完成,然后试一下效果:

[root@xxx lua-5.1.5]# lua

Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio

> print("Hello ");

Hello

>

二、centos安装LuaSocket

3)下载并解压

wget http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2/luasocket-2.0.2.tar.gz

tar -xzvf luasocket-2.0.2.tar.gz

4)安装

[root@xxx luasocket-2.0.2]# make & make install

[1] 2109

cd src; make all

cd src; make all

make[1]: Entering directory `/root/down/luasocket-2.0.2/src'

make[1]: Nothing to be done for `all'.

make[1]: Leaving directory `/root/down/luasocket-2.0.2/src'

make[1]: Entering directory `/root/down/luasocket-2.0.2/src'

make[1]: Nothing to be done for `all'.

make[1]: Leaving directory `/root/down/luasocket-2.0.2/src'

cd src; mkdir -p /usr/local/share/lua/5.1

cd src; cp ltn12.lua socket.lua mime.lua /usr/local/share/lua/5.1

cd src; mkdir -p /usr/local/share/lua/5.1/socket

cd src; cp http.lua url.lua tp.lua ftp.lua smtp.lua /usr/local/share/lua/5.1/socket

cd src; mkdir -p /usr/local/lib/lua/5.1/socket

cd src; cp socket.so.2.0.2  /usr/local/lib/lua/5.1/socket/core.so

#cd src; mkdir -p /usr/local/share/lua/5.1/mime

#cd src; cp  /usr/local/share/lua/5.1/mime

cd src; mkdir -p /usr/local/lib/lua/5.1/mime

cd src; cp mime.so.1.0.2 /usr/local/lib/lua/5.1/mime/core.so

[1]+  Done                    make

0818b9ca8b590ca3270a3433284dd417.png

5)个人在这里顺利安装成功,哈哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 2.7 Tutorial —— 流程控制

.. _tut-morecontrol: ****************************************** More Control Flow Tools 深入流程控制 ****************************************** Besides the :keyword:while statement just introduced, Python knows the usual control flow statements known from …

一厕难求!NASA悬赏三万五千美元,只为一个能在月球上用的马桶

全世界只有3.14 % 的人关注了爆炸吧知识来源:大数据文摘作者:刘俊寰如今逐渐步入智能生活时代,智能化产品也逐渐普及到我们生活中,有的智能马桶,不仅可以识别大便监测你的生活状况,还可以识别肛纹辨别不同身…

我很高兴地宣布我正在编写第一本官方ABP图书

掌握ABP框架通过实施软件开发最佳实践来构建可维护的 .NET 解决方案从 ABP 框架的创建者那里学习如何构建现代 Web 应用程序主要特点使用 ABP 中的最佳工具构建强大、可维护和可扩展的软件解决方案了解如何在您的 Web 应用程序中实施 SOLID 原则和领域驱动设计了解 ABP 框架如何…

python join_python join 和 split的常用使用方法

python join 和 split的常用使用方法 python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的。 1.join用法示例 >>>li [my,name,is,bob] >>> .join(li) my name is bob >>>_.join(li) my_name_is_…

layui 如何去dom_javascript 怎么去引用layui里面的方法

现在,我有一个JSP页面,里面同时存在普通javascript的代码和layui的代码,我想调用layui里面的方法,该怎么引用?这是javascript代码:var treeSetting {data: {simpleData: {enable: true,idKey: "id&qu…

ExtJs Grid分页时序号自增的实现,以及查询以后的序号的处理

ExtJs Grid分页时,默认情况下每页的序号都是从1起始的,这往往不符合我们的习惯。这里实现了序号的自动增加。如:每页20条第一页从1开始,第二页从21条开始。先定义一个全局变量如record_start 0,这里记得赋初始值主要是考虑第一次…

linux的自定义input,linux键值到Android键值的转换与自定义

首先要确定按键输入设备是对应/dev/input目录下哪个event,根据VID PID匹配对应的kl文件,可通过如下命令 cat /proc/bus/input/devices 查看设备信息framework层通过.kl文件将获取的键值转换成实际按键含义后,又会通过KeycodeLabel转换成相应的…

原来历史人物的英文名竟然叫这些,太好笑了吧哈哈哈哈哈

全世界只有3.14 % 的人关注了爆炸吧知识我们学了这么多年的英语你有英文名字吗?如果有一天,古人穿越到了现在那么他们的英文名字是……汉武帝:Woody汉文帝:Wendy▽朱棣:judy▽朱熹:Juicy▽周瑜:…

10款优秀的跨平台免费生产力软件[转]

因为多数人并不需要OpenOffice.org那样整合了字处理、表格、幻灯片制作等完整的生产力工具,他们只需要其中一项功能:字处理软件AbiWord 2.8.6;开源桌面排版系统Scribus 1.3.8;整合浏览器、电子邮件、IRC和HTML编辑器的SeaMonkey 2…

From Apprentice To Artisan 翻译 19

为什么80%的码农都做不了架构师?>>> 上一篇 Interface Segregation Principle 接口隔离原则 Introduction 介绍 The Interface Segregation principle states that no implementation of an interface should be forced to depend on methods it does n…

Winform模拟post请求和get请求登录网站

引言最近有朋友问如何用winform模拟post请求,然后登录网站,稍微想了一下,大致就是对http报文的相关信息的封装,然后请求网站登录地址的样子。发现自己的博客中对这部分只是也没总结,就借着这股风,总结一下h…

python eval函数_Python eval 函数妙用

作者博文地址:https://www.cnblogs.com/liu-shuai/ eval 功能:将字符串str当成有效的表达式来求值并返回计算结果。 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Python表达式或函数compil…

易宝支付碰到 交易签名无效问题

今天在易宝支付问题上给纠结了半天,将模块加进文件中,设置好商户ID与密钥,加上对应的域名,是可以实现在线支付问题。但我现在要的功能是要按不同的分组,去读取不同的商户ID与密钥,因些,我将这些…

那些上海滩的金融传奇,或许都开始于一份PPT

全世界只有3.14 % 的人关注了爆炸吧知识 我从07年开始在上海做商务PPT定制,从工作室一步一步到国内首家PPT定制公司,从电脑前到讲台前做培训,算是见证了中国PPT行业的发展。在我大大小小做过的项目里,印象最深的莫过于“靠PPT拿下…

Android 控件之RatingBar评分条

RatingBar是Adnroid中的评分条。效果挺得的 源码下载 一、概述 RatingBar是SeekBar和ProgressBar的扩展,用星星来评级。使用的默认大小RatingBar时,用户可以触摸/拖动或使用键来设置评分,它有俩种样式(大、小)&#xf…

c语言字符比较思路,C语言讲解思路资料

《C语言讲解思路资料》由会员分享,可在线阅读,更多相关《C语言讲解思路资料(10页珍藏版)》请在人人文库网上搜索。1、C语言讲解思路1,认识C语言的组成: #in elude main ()printf(Hello, worldn);构成:包含预定义文件、函数体、主函数 一个C程…

3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络

论文:A Hierarchical Graph Network for 3D Object Detection on Point Clouds论文地址:https://www.aminer.cn/pub/5eccb534e06a4c1b26a834c7?confcvpr2020由于大多数现有的点云对象检测方法不能充分适应点云的特征(例如稀疏性),所以一些关…

C# datagridview、datagrid、GridControl增加行号

01—WinForm中datagridview增加行号在界面上拖一个控件dataGridView1&#xff0c;在datagridview添加行事件中添加如下代码&#xff1a;private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e){try{for (int i 0; i < dataGridView1.Rows…

position定位 响应式_使用 Vue3 实现双盒子定位 Overlay

之前说过&#xff0c;使用 可以很优雅的把某个组件渲染到根节点之外的节点&#xff0c;同时使其渲染的内容不丧失响应式和对应的生命周期函数调用。那么基于此&#xff0c;用 实现相对于某一元素的 Overlay 。实际上&#xff0c;这篇文章跟 Vue3 的关系不大&#xff0c;只是通…

模型化的SAP系统权限管理

IDS Scheer中国副总裁 王磊 SAP系统刚上线时&#xff0c;系统内的权限管理往往并不引起重视。大家关注 更多的是系统能否顺畅运行、数据是否准确&#xff0c;财务帐是否能对得上等等。事实上&#xff0c;此时为了确保系统迅速转起来&#xff0c;给很多用户的权限往往是放大的。…