经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Lua » 查看文章
安装luasocket 的正确姿势
来源:cnblogs  作者:guoew  时间:2019/1/11 9:54:54  对本文有异议

在lua中用下面这种方式使用socket,安装luasocket-2.0.2后老是报一些莫名其妙的错误。

  1. require("socket")

下面是部分报错信息

  1. lua: error loading module 'socket.core' from file '/usr/local/lib/lua/5.3/socket/core.so':
  2. /usr/local/lib/lua/5.3/socket/core.so: undefined symbol: luaL_checkint
  3. stack traceback:
  4. [C]: in ?
  5. [C]: in function 'require'
  6. /usr/local/share/lua/5.3/socket.lua:13: in main chunk
  7. [C]: in function 'require'
  8. /usr/local/share/lua/5.3/socket/http.lua:11: in main chunk
  9. [C]: in function 'require'
  10. bb.lua:2: in main chunk
  11. [C]: in ?

在网上找了一篇博文写的不错,博文地址 ,但是按照博文修改源码后依然不能解决问题

又Google了一篇文章写的更好,从根本解决上解决了问题博文地址 感谢!

顺便在luajit-2.0.4(生产环境版本)试了一下第二种方式,在编译时会报错如下

  1. luasocket.c:18:17: fatal error: lua.h: No such file or directory
  2. compilation terminated.
  3. <builtin>: recipe for target 'luasocket.o' failed
  4. make[2]: *** [luasocket.o] Error 1
  5. make[2]: Leaving directory '/tmp/luasocket/src'
  6. makefile:359: recipe for target 'linux' failed
  7. make[1]: *** [linux] Error 2
  8. make[1]: Leaving directory '/tmp/luasocket/src'
  9. makefile:18: recipe for target 'linux' failed
  10. make: *** [linux] Error 2

问题原因是make时找不到lua.h头文件,编译时自己手动指定头文件路径LUAINC=/usr/local/luajit/include/luajit-2.0,如下

  1. make LUAINC=/usr/local/luajit/include/luajit-2.0
  2. make install

END

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号