lake@local:~/lua-5.3.5$ make posix INSTALL_TOP=~/usr -j32
cd src && make posix
make[1]: Entering directory 'lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_POSIX"
make[2]: Entering directory 'lua-5.3.5/src'
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lapi.o lapi.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lcode.o lcode.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lctype.o lctype.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ldebug.o ldebug.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ldo.o ldo.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ldump.o ldump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lfunc.o lfunc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lgc.o lgc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o llex.o llex.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lmem.o lmem.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lobject.o lobject.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lopcodes.o lopcodes.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lparser.o lparser.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lstate.o lstate.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lstring.o lstring.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ltable.o ltable.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ltm.o ltm.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lundump.o lundump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lvm.o lvm.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lzio.o lzio.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lauxlib.o lauxlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lbaselib.o lbaselib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lbitlib.o lbitlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lcorolib.o lcorolib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ldblib.o ldblib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o liolib.o liolib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lmathlib.o lmathlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o loslib.o loslib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lstrlib.o lstrlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o ltablib.o ltablib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lutf8lib.o lutf8lib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o loadlib.o loadlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o linit.o linit.c
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 lutf8lib.o loadlib.o linit.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib liblua.a
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o lua.o lua.c
gcc -std=gnu99 -o lua lua.o liblua.a -lm
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -c -o luac.o luac.c
gcc -std=gnu99 -o luac luac.o liblua.a -lm
make[2]: Leaving directory 'lua-5.3.5/src'
make[1]: Leaving directory 'lua-5.3.5/src'
lake@ShSwDev2:~/local/Lua/lua-5.3.5$ make posix -j32
cd src && make posix
make[1]: Entering directory 'lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_POSIX"
make[2]: Entering directory 'lua-5.3.5/src'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory 'lua-5.3.5/src'
make[1]: Leaving directory 'lua-5.3.5/src'
lake@ShSwDev2:~/local/Lua/lua-5.3.5$ make
Please do 'make PLATFORM' where PLATFORM is one of these:
aix bsd c89 freebsd generic linux macosx mingw posix solaris
See doc/readme.html for complete instructions.
lake@ShSwDev2:~/lua-5.3.5$ make install INSTALL_TOP=~/usr -j32
cd src && mkdir -p /home/lake/usr/bin /home/lake/usr/include /home/lake/usr/lib /home/lake/usr/man/man1 /home/lake/usr/share/lua/5.3 /home/lake/usr/lib/lua/5.3
cd src && install -p -m 0755 lua luac /home/lake/usr/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /home/lake/usr/include
cd src && install -p -m 0644 liblua.a /home/lake/usr/lib
cd doc && install -p -m 0644 lua.1 luac.1 /home/lake/usr/man/man1
lake@ShSwDev2:~/lua-5.3.5$ which lua
/home/lake/usr/bin/lua
lake@ShSwDev2:~/local/Lua/lua-5.3.5$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> 2+1
3
> 1+1
2
>
lake@localhost:~/lua-5.3.5$ cat ~/usr/share/lua/5.3/hello.lua
print("Hello World\n")
lake@localhost:~/lua-5.3.5$ lua ~/usr/share/lua/5.3/hello.lua
Hello World!
lake@localhost:~/lua-5.3.5$
lake@localhost:~/lua-5.3.5$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> print(package.path)
/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua
> print(package.cpath)
/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so
>
lake@localhost:~/lua-5.3.5$ ls -l ~/usr/share/lua/5.3/hellomodule.lua
-rw-r--r-- 1 lake sudo 151 Nov 7 00:26 /home/lake/usr/share/lua/5.3/hellomodule.lua
lake@localhost:~/lua-5.3.5$ cat ~/usr/share/lua/5.3/hellomodule.lua
hellomodule = {}
hellomodule.constant = "Hello World!"
function hellomodule.print()
io.write(hellomodule.constant);
end
return hellomodule
lake@localhost:~/lua-5.3.5$ cat ../myluatest.lua
require("hellomodule")
print(hellomodule.constant)
lake@localhost:~/lua-5.3.5$
lake@localhost:~/lua-5.3.5$ export LUA_PATH="/home/lake/usr/share/lua/5.3/?.lua;;"
lake@localhost:~/lua-5.3.5$ lua ../myluatest.lua
Hello World!
lake@localhost:~/lua-5.3.5$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> print(package.path)
/home/lake/usr/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua;
>
############ LUA_PATH lua module search path
############ LUA_CPATH C so search path
lake@localhost:~/lua-5.3.5$ export LUA_PATH="/home/lake/usr/share/lua/5.3/?.lua;;"
lake@localhost:~/lua-5.3.5$ export LUA_CPATH="/home/lake/usr/share/lua/5.3/?.so;;"
lake@localhost:~/lua-5.3.5$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> print(package.path)
/home/lake/usr/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua;
> print(package.cpath)
/home/lake/usr/share/lua/5.3/?.so;/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so;
>

本文详细记录了Lua 5.3.5环境的搭建过程,包括编译配置、安装及环境变量设置。通过具体步骤展示了如何从源码构建Lua解释器,并介绍了Lua模块搜索路径的配置方法,为读者提供了Lua开发环境的完整指南。
1036

被折叠的 条评论
为什么被折叠?



