Lua is a powerful light-weight programming language designed for extending applications. It is also frequently used as a general-purpose, stand-alone language. Lua is implemented as a small library of C functions, written in ANSI C, and compiles unmodified in all known platforms. The implementation goals are simplicity, efficiency, portability, and low embedding cost. The result is a fast language engine with small footprint, making it ideal in embedded systems too.
This package is known to build and work properly using an LFS-9.0 platform.
Download (HTTP): http://www.lua.org/ftp/lua-5.3.5.tar.gz
Download MD5 sum: 4f4b4f323fd3514a68e0ab3da8ce3455
Download size: 300 KB
Estimated disk space required: 4.5 MB (with Basic tests)
Estimated build time: less than 0.1 SBU (with Basic tests)
Required patch: http://www.linuxfromscratch.org/patches/blfs/9.0/lua-5.3.5-shared_library-1.patch
Optional Test Suite Download (HTTP): http://www.lua.org/tests/lua-5.3.4-tests.tar.gz
Optional Test Suite Download MD5 sum: b14fe3748c1cb2d74e3acd1943629ba3
Optional Test Suite Download size: 104 KB
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/lua
Some packages check for the pkg-config file for Lua, which is created with:
cat > lua.pc << "EOF"
V=5.3
R=5.3.5
prefix=/usr
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
INSTALL_LIB=${prefix}/lib
INSTALL_MAN=${prefix}/share/man/man1
INSTALL_LMOD=${prefix}/share/lua/${V}
INSTALL_CMOD=${prefix}/lib/lua/${V}
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm -ldl
Cflags: -I${includedir}
EOF
Install Lua by running the following commands:
patch -Np1 -i ../lua-5.3.5-shared_library-1.patch && sed -i '/#define LUA_ROOT/s:/usr/local/:/usr/:' src/luaconf.h && make MYCFLAGS="-DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1" linux
To test the results, issue: make test. “This will run the interpreter and print its version.”. More comprehensive tests can be performed if you downloaded the "Test suite" tarball. Those tests need to be executed after the package is installed, thus we defer to the description below.
Now, as the root
user:
make INSTALL_TOP=/usr \ INSTALL_DATA="cp -d" \ INSTALL_MAN=/usr/share/man/man1 \ TO_LIB="liblua.so liblua.so.5.3 liblua.so.5.3.4" \ install && mkdir -pv /usr/share/doc/lua-5.3.5 && cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.3.5 && install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc
Here we describe only the "Basic tests". Untar the tarball and
change to the lua-5.3.5-tests
directory, then issue lua -e
"_U=true" all.lua. If the tests finish without
error, you will see a message containing the string "final OK".
sed -i ... src/luaconf.h: This command changes the Lua search path to match the install path.
MYCFLAGS="-DLUA_COMPAT_5_2
-DLUA_COMPAT_5_1"
: This environment variable includes
compatibility layers with Lua 5.1 and 5.2 in the build.
Last updated on 2019-08-17 15:16:30 -0700