Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-142-generic x86_64)
lake@localhost:/localrepo/jxiazi/code/Lua$ cp -ar -p lua-5.3.5 ~/local/^C
lake@localhost:/localrepo/jxiazi/code/Lua$ cd ..
lake@localhost:/localrepo/jxiazi/code$ cp -ar -p Lua ~/local/
lake@localhost:/localrepo/jxiazi/code$ cd ~/local
lake@localhost:~/local/Lua$ ls
lua-5.3.5
lake@localhost:~/local/Lua$ cd lua-5.3.5/
lake@localhost:~/local/Lua/lua-5.3.5$ ls
Makefile README doc src
lake@localhost:~/local/Lua/lua-5.3.5$ vi Makefile
lake@localhost:~/local/Lua/lua-5.3.5$ vi Makefile
lake@localhost:~/local/Lua/lua-5.3.5$ vi Makefile
lake@localhost:~/local/Lua/lua-5.3.5$ git log
fatal: Not a git repository (or any parent up to mount point /localrepo)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
lake@localhost:~/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@localhost:~/local/Lua/lua-5.3.5$ make linux
cd src && make linux
make[1]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX -c -o lua.o lua.c
lua.c:82:31: fatal error: readline/readline.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'lua.o' failed
make[2]: *** [lua.o] Error 1
make[2]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
Makefile:110: recipe for target 'linux' failed
make[1]: *** [linux] Error 2
make[1]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
Makefile:55: recipe for target 'linux' failed
make: *** [linux] Error 2
lake@localhost:~/local/Lua/lua-5.3.5$ vi README
lake@localhost:~/local/Lua/lua-5.3.5$ vim doc/readme.html
lake@localhost:~/local/Lua/lua-5.3.5$ make posix
cd src && make posix
make[1]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_POSIX"
make[2]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
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
liblua.a(loadlib.o): In function `lookforfunc':
loadlib.c:(.text+0x502): undefined reference to `dlsym'
loadlib.c:(.text+0x549): undefined reference to `dlerror'
loadlib.c:(.text+0x576): undefined reference to `dlopen'
loadlib.c:(.text+0x5ed): undefined reference to `dlerror'
liblua.a(loadlib.o): In function `gctm':
loadlib.c:(.text+0x781): undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
Makefile:63: recipe for target 'lua' failed
make[2]: *** [lua] Error 1
make[2]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
Makefile:122: recipe for target 'posix' failed
make[1]: *** [posix] Error 2
make[1]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
Makefile:55: recipe for target 'posix' failed
make: *** [posix] Error 2
lake@localhost:~/local/Lua/lua-5.3.5$ make clean
cd src && make clean
make[1]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
rm -f liblua.a lua luac 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 lua.o luac.o
make[1]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
lake@localhost:~/local/Lua/lua-5.3.5$ make posix
cd src && make posix
make[1]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_POSIX"
make[2]: Entering directory '/localrepo/lake/Lua/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 '/localrepo/lake/Lua/lua-5.3.5/src'
make[1]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
lake@localhost:~/local/Lua/lua-5.3.5$ make posix -j32
cd src && make posix
make[1]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
make all SYSCFLAGS="-DLUA_USE_POSIX"
make[2]: Entering directory '/localrepo/lake/Lua/lua-5.3.5/src'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
make[1]: Leaving directory '/localrepo/lake/Lua/lua-5.3.5/src'
lake@localhost:~/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@localhost:~/local/Lua/lua-5.3.5$ vim Makefile
lake@localhost:~/local/Lua/lua-5.3.5$ vim Makefile
lake@localhost:~/local/Lua/lua-5.3.5$ make install -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@localhost:~/local/Lua/lua-5.3.5$ lua
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
> ext
nil
> quit
nil
>
lake@localhost:~/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
> > quit
nil
>
lake@localhost:~/local/Lua/lua-5.3.5$