Linux 环境下 Lua 安装(转)

Posted 沧海一滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 环境下 Lua 安装(转)相关的知识,希望对你有一定的参考价值。

系统环境:CentOS-6.2-x86_64。


Lua
 是嵌入式脚本语言,应用场景很广泛。


引自官网:Lua is used in many products and projects around the world, including several well-known games。

官网地址:http://www.lua.org

Lua 的精髓:简约而不简单!


Lua
 在 Linux 环境下的安装:

 

[plain] view plain copy
 
 print?
  1. wget http://www.lua.org/ftp/lua-5.2.0.tar.gz  
  2. tar zxvf lua-5.2.0.tar.gz  
  3. cd lua-5.2.0  
  4. make linux  


此时,执行make linux ,可能会报错:

 

[plain] view plain copy
 
 print?
  1. [[email protected] lua]# make linux  
  2. cd src && make linux  
  3. make[1]: Entering directory `/usr/local/lua/src‘  
  4. make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"  
  5. make[2]: Entering directory `/usr/local/lua/src‘  
  6. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lapi.o lapi.c  
  7. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lcode.o lcode.c  
  8. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lctype.o lctype.c  
  9. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldebug.o ldebug.c  
  10. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldo.o ldo.c  
  11. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldump.o ldump.c  
  12. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lfunc.o lfunc.c  
  13. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lgc.o lgc.c  
  14. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o llex.o llex.c  
  15. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lmem.o lmem.c  
  16. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lobject.o lobject.c  
  17. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lopcodes.o lopcodes.c  
  18. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lparser.o lparser.c  
  19. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstate.o lstate.c  
  20. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstring.o lstring.c  
  21. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltable.o ltable.c  
  22. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltm.o ltm.c  
  23. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lundump.o lundump.c  
  24. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lvm.o lvm.c  
  25. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lzio.o lzio.c  
  26. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lauxlib.o lauxlib.c  
  27. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lbaselib.o lbaselib.c  
  28. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lbitlib.o lbitlib.c  
  29. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lcorolib.o lcorolib.c  
  30. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldblib.o ldblib.c  
  31. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o liolib.o liolib.c  
  32. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lmathlib.o lmathlib.c  
  33. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o loslib.o loslib.c  
  34. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstrlib.o lstrlib.c  
  35. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltablib.o ltablib.c  
  36. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o loadlib.o loadlib.c  
  37. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o linit.o linit.c  
  38. ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o  
  39. ranlib liblua.a  
  40. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lua.o lua.c  
  41. lua.c:67:31: error: readline/readline.h: No such file or directory  
  42. lua.c:68:30: error: readline/history.h: No such file or directory  
  43. lua.c: In function ‘pushline’:  
  44. lua.c:271: warning: implicit declaration of function ‘readline’  
  45. lua.c:271: warning: assignment makes pointer from integer without a cast  
  46. lua.c: In function ‘loadline’:  
  47. lua.c:301: warning: implicit declaration of function ‘add_history’  
  48. make[2]: *** [lua.o] Error 1  
  49. make[2]: Leaving directory `/usr/local/lua/src‘  
  50. make[1]: *** [linux] Error 2  
  51. make[1]: Leaving directory `/usr/local/lua/src‘  
  52. make: *** [linux] Error 2  


原因是:缺少 readline 库的支持

 

[plain] view plain copy
 
 print?
  1. yum install -y readline  
  2. yum install -y readline-devel  


然后继续安装:

 

[plain] view plain copy
 
 print?
  1. make linux   
  2. make install  


安装完成。

 

测试Lua:

[plain] view plain copy
 
 print?
    1. [[email protected] lua]# lua  
    2. Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio  
    3. > print("Hello World!")  
    4. Hello World!  
    5. >   

http://blog.csdn.net/vboy1010/article/details/7801783

以上是关于Linux 环境下 Lua 安装(转)的主要内容,如果未能解决你的问题,请参考以下文章

Lua 环境安装

Linux环境下虚拟环境virtualenv安装和使用(转)

Linux环境下Redis安装配置步骤[转]

转 windows下安装pycharm并连接Linux的python环境

如何安装lua

周报1