From 74f50ded0f4a5d5d89135d09b942e2791e914d37 Mon Sep 17 00:00:00 2001 From: tyrro Date: Tue, 5 May 2026 17:33:46 +0700 Subject: [PATCH] fix: create liblualib.a symlink for Lua 5.1+ installs liblualib was merged into liblua in Lua 5.1. Static libraries built from Lua 5.1+ source only ship liblua.a, but gems like ruby-lua still link against -llualib, causing the build to fail with 'library not found'. Create a liblualib.a -> liblua.a symlink after install when: - The version is Lua 5.1 or greater (not LuaJIT) - liblua.a exists in the install's lib directory - liblualib.a is not already present (future-safe) --- bin/install | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bin/install b/bin/install index 8906890..22edb9b 100755 --- a/bin/install +++ b/bin/install @@ -75,6 +75,15 @@ install_lua() { fi fi + # Create liblualib.a -> liblua.a symlink for Lua 5.1+ (liblualib was merged into + # liblua in Lua 5.1; gems that still link -llualib will fail without this). + # Only created if liblua.a exists and liblualib.a is not already provided. + if [ "${lua_type}" != "LuaJIT" ] && version_5_1x_or_greater "$version"; then + if [ -f "${install_path}/lib/liblua.a" ] && [ ! -e "${install_path}/lib/liblualib.a" ]; then + ln -sf "${install_path}/lib/liblua.a" "${install_path}/lib/liblualib.a" + fi + fi + # If we are installing Lua 5.x or greater install LuaRocks as well (not for LuaJIT) if [ "${lua_type}" != "LuaJIT" ] && version_5x_or_greater "$version"; then local luarocks_version