Search code examples
luaembeddingunpack

Lua trouble: attempt to call global 'unpack' (a nil value)


I am relatively new to Lua, and am experimenting with embedding it in a library. I can execute the script just fine from the command line, but I hit the following error when calling a function in my script when embedded

PANIC: unprotected error in call to Lua API ([string "-- #! /usr/local/bin/lua..."]:72: attempt to call global 'unpack' (a nil value))

Where did unpack go?


Solution

  • You're probably embedding Lua as source, not as a pre-built library. In this case, you have probably not enabled backward compatibility.

    By default, the command line interpreter is built with backward compatibility, hence the difference you see.