Linux 环境下 Lua 安装(转)

简介: 系统环境:CentOS-6.2-x86_64。 Lua 是嵌入式脚本语言,应用场景很广泛。 引自官网:Lua is used in many products and projects around the world, including several well-known games。

系统环境: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. [root@localhost 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. [root@localhost 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

相关文章
|
2天前
|
Linux Shell 数据库
linux系统 安装、管理程序
linux系统 安装、管理程序
|
5天前
|
关系型数据库 MySQL Linux
【MySQL】如何在Linux上安装MySQL
【MySQL】如何在Linux上安装MySQL
43 1
|
9天前
|
Linux 测试技术 开发工具
Linux系统之advcpmv工具的安装和基本使用
【5月更文挑战第21天】Linux系统之advcpmv工具的安装和基本使用
18 2
|
9天前
|
存储 Java 应用服务中间件
Linux中安装部署环境(JAVA)
Linux中安装部署环境(JAVA)
22 0
|
9天前
|
NoSQL Linux 测试技术
如何在Linux环境下安装Redis呢?
如何在Linux环境下安装Redis呢?
|
11天前
|
人工智能 数据可视化 Linux
linux环境开发工具---yum与vim
linux环境开发工具---yum与vim
|
12天前
|
关系型数据库 MySQL Linux
在Linux系统中安装MySQL数据库
在Linux系统中安装MySQL数据库
64 3
|
12天前
|
Ubuntu 关系型数据库 MySQL
|
12天前
|
Kubernetes Linux KVM
|
12天前
|
运维 Java Linux
Linux安装Maven_linux安装maven4
Linux安装Maven_linux安装maven4
Linux安装Maven_linux安装maven4