1.在官網下載
下載地址http://www.lua.org/download.html
2.上傳到Linux
3.安裝
[root@CentOS lua-5.2.3]# makePlease do 'make PLATFORM' where PLATFORM is one of these: aix ansi bsd freebsd generic linux macosx mingw posix solarisSee doc/readme.html for complete instructions.
[root@CentOS lua-5.2.3]# make linuxcd src && make linuxmake[1]: Entering directory `/root/dblion/lua-5.2.3/src'make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"make[2]: Entering directory `/root/dblion/lua-5.2.3/src'gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lapi.o lapi.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lcode.o lcode.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lctype.o lctype.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ldebug.o ldebug.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ldo.o ldo.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ldump.o ldump.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lfunc.o lfunc.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lgc.o lgc.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o llex.o llex.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lmem.o lmem.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lobject.o lobject.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lopcodes.o lopcodes.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lparser.o lparser.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lstate.o lstate.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lstring.o lstring.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ltable.o ltable.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ltm.o ltm.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lundump.o lundump.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lvm.o lvm.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lzio.o lzio.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lauxlib.o lauxlib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lbaselib.o lbaselib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lbitlib.o lbitlib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lcorolib.o lcorolib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ldblib.o ldblib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o liolib.o liolib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lmathlib.o lmathlib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o loslib.o loslib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lstrlib.o lstrlib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o ltablib.o ltablib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o loadlib.o loadlib.cgcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o linit.o linit.car 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 ranlib liblua.agcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lua.o lua.clua.c:67:31: 錯誤:readline/readline.h:沒有那個檔案或目錄lua.c:68:30: 錯誤:readline/history.h:沒有那個檔案或目錄lua.c: 在函數‘pushline’中:lua.c:265: 警告:隱式聲明函數‘readline’lua.c:265: 警告:賦值時將整數賦給指標,未作類型轉換lua.c: 在函數‘loadline’中:lua.c:297: 警告:隱式聲明函數‘add_history’make[2]: *** [lua.o] 錯誤 1make[2]: Leaving directory `/root/dblion/lua-5.2.3/src'make[1]: *** [linux] 錯誤 2make[1]: Leaving directory `/root/dblion/lua-5.2.3/src'make: *** [linux] 錯誤 2[root@CentOS lua-5.2.3]#
[root@CentOS lua-5.2.3]# whereis readlinereadline:[root@CentOS lua-5.2.3]# yum install readline-devel.i686Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.yun-idc.com * updates: mirrors.btte.netSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package readline-devel.i686 0:6.0-4.el6 will be installed--> Processing Dependency: ncurses-devel for package: readline-devel-6.0-4.el6.i686--> Processing Dependency: libreadline.so.6 for package: readline-devel-6.0-4.el6.i686--> Processing Dependency: libhistory.so.6 for package: readline-devel-6.0-4.el6.i686--> Running transaction check---> Package ncurses-devel.x86_64 0:5.7-3.20090208.el6 will be installed---> Package readline.i686 0:6.0-4.el6 will be installed--> Processing Dependency: libtinfo.so.5 for package: readline-6.0-4.el6.i686--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: readline-6.0-4.el6.i686--> Running transaction check---> Package glibc.i686 0:2.12-1.132.el6_5.2 will be installed--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.132.el6_5.2.i686--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.132.el6_5.2.i686---> Package ncurses-libs.i686 0:5.7-3.20090208.el6 will be installed--> Running transaction check---> Package nss-softokn-freebl.i686 0:3.14.3-10.el6_5 will be installed--> Finished Dependency ResolutionDependencies Resolved============================================================================================================ Package Arch Version Repository Size============================================================================================================Installing: readline-devel i686 6.0-4.el6 base 134 kInstalling for dependencies: glibc i686 2.12-1.132.el6_5.2 updates 4.3 M ncurses-devel x86_64 5.7-3.20090208.el6 base 642 k ncurses-libs i686 5.7-3.20090208.el6 base 251 k nss-softokn-freebl i686 3.14.3-10.el6_5 updates 147 k readline i686 6.0-4.el6 base 176 kTransaction Summary============================================================================================================Install 6 Package(s)Total download size: 5.7 MInstalled size: 17 MIs this ok [y/N]: yDownloading Packages:(1/6): glibc-2.12-1.132.el6_5.2.i686.rpm | 4.3 MB 00:02 (2/6): ncurses-devel-5.7-3.20090208.el6.x86_64.rpm | 642 kB 00:00 (3/6): ncurses-libs-5.7-3.20090208.el6.i686.rpm | 251 kB 00:00 (4/6): nss-softokn-freebl-3.14.3-10.el6_5.i686.rpm | 147 kB 00:00 (5/6): readline-6.0-4.el6.i686.rpm | 176 kB 00:00 (6/6): readline-devel-6.0-4.el6.i686.rpm | 134 kB 00:00 ------------------------------------------------------------------------------------------------------------Total 776 kB/s | 5.7 MB 00:07 Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : glibc-2.12-1.132.el6_5.2.i686 1/6 Installing : nss-softokn-freebl-3.14.3-10.el6_5.i686 2/6 Installing : ncurses-libs-5.7-3.20090208.el6.i686 3/6 Installing : ncurses-devel-5.7-3.20090208.el6.x86_64 4/6 Installing : readline-6.0-4.el6.i686 5/6 Installing : readline-devel-6.0-4.el6.i686 6/6 Verifying : ncurses-libs-5.7-3.20090208.el6.i686 1/6 Verifying : nss-softokn-freebl-3.14.3-10.el6_5.i686 2/6 Verifying : readline-6.0-4.el6.i686 3/6 Verifying : readline-devel-6.0-4.el6.i686 4/6 Verifying : ncurses-devel-5.7-3.20090208.el6.x86_64 5/6 Verifying : glibc-2.12-1.132.el6_5.2.i686 6/6 Installed: readline-devel.i686 0:6.0-4.el6 Dependency Installed: glibc.i686 0:2.12-1.132.el6_5.2 ncurses-devel.x86_64 0:5.7-3.20090208.el6 ncurses-libs.i686 0:5.7-3.20090208.el6 nss-softokn-freebl.i686 0:3.14.3-10.el6_5 readline.i686 0:6.0-4.el6 Complete!
[root@CentOS lua-5.2.3]# make linuxcd src && make linuxmake[1]: Entering directory `/root/upload/lua-5.2.3/src'make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"make[2]: Entering directory `/root/upload/lua-5.2.3/src'gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o lua.o lua.cgcc -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../libreadline.so when searching for -lreadline/usr/bin/ld: skipping incompatible /usr/lib/libreadline.so when searching for -lreadline/usr/bin/ld: cannot find -lreadlinecollect2: ld 返回 1make[2]: *** [lua] 錯誤 1make[2]: Leaving directory `/root/upload/lua-5.2.3/src'make[1]: *** [linux] 錯誤 2make[1]: Leaving directory `/root/upload/lua-5.2.3/src'make: *** [linux] 錯誤 2[root@CentOS lua-5.2.3]#
[root@CentOS local]# mkdir lua[root@CentOS local]# lsbin etc games include lib lib64 libexec lua net-snmp sbin scripts sedscript share src[root@CentOS local]# cd lua/[root@CentOS lua]# pwd/usr/local/lua[root@CentOS lua-5.2.3]# vi Makefile 1 # Makefile for installing Lua 2 # See doc/readme.html for installation and customization instructions. 3 4 # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 5 6 # Your platform. See PLATS for possible values. 7 PLAT= none 8 9 # Where to install. The installation starts in the src and doc directories, 10 # so take care if INSTALL_TOP is not an absolute path. See the local target. 11 # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with 12 # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. 13 INSTALL_TOP= /usr/local/lua --------------------添加lua 14 INSTALL_BIN= $(INSTALL_TOP)/bin 15 INSTALL_INC= $(INSTALL_TOP)/include 16 INSTALL_LIB= $(INSTALL_TOP)/lib 17 INSTALL_MAN= $(INSTALL_TOP)/man/man1 18 INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V 19 INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V 20 21 # How to install. If your install program does not support "-p", then 22 # you may have to run ranlib on the installed liblua.a. 23 INSTALL= install -p 24 INSTALL_EXEC= $(INSTALL) -m 0755 25 INSTALL_DATA= $(INSTALL) -m 0644 26 # 27 # If you don't have "install" you can use "cp" instead. 28 # INSTALL= cp -p 29 # INSTALL_EXEC= $(INSTALL) 30 # INSTALL_DATA= $(INSTALL)
注意:如果遇到make linux或者make install報錯,先運行[root@CentOS lua-5.2.3]# yum install -y readline-devel ncurses-develLoaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnSetting up Install ProcessPackage ncurses-devel-5.7-3.20090208.el6.x86_64 already installed and latest versionResolving Dependencies--> Running transaction check---> Package readline-devel.x86_64 0:6.0-4.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved============================================================================================================ Package Arch Version Repository Size============================================================================================================Installing: readline-devel x86_64 6.0-4.el6 base 134 kTransaction Summary============================================================================================================Install 1 Package(s)Total download size: 134 kInstalled size: 255 kDownloading Packages:yreadline-devel-6.0-4.el6.x86_64.rpm | 134 kB 00:00 Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : readline-devel-6.0-4.el6.x86_64 1/1 Verifying : readline-devel-6.0-4.el6.x86_64 1/1 Installed: readline-devel.x86_64 0:6.0-4.el6 Complete!
[root@CentOS lua-5.2.3]# make linuxcd src && make linuxmake[1]: Entering directory `/root/upload/lua-5.2.3/src'make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"make[2]: Entering directory `/root/upload/lua-5.2.3/src'gcc -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX -c -o luac.o luac.cgcc -o luac luac.o liblua.a -lm -Wl,-E -ldl -lreadline make[2]: Leaving directory `/root/upload/lua-5.2.3/src'make[1]: Leaving directory `/root/upload/lua-5.2.3/src'
4.編譯運行
[root@CentOS testscripts]# cat dblion.lua print("dblion test")[root@CentOS testscripts]# lua dblion.lua dblion test