[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Problems with Lua in Vim
- From: Philipp Janda <siffiejoe@...>
- Date: Fri, 22 Nov 2013 11:47:57 +0100
Am 22.11.2013 11:39 schröbte Bernd Eggink:
On 22.11.2013 09:13, Rob Hoelz wrote:
On 11/22/13 11:06 AM, Bernd Eggink wrote:
I compiled Vim with Lua support and am quite happy now that I can
write Vim procedures in my favourite language. Most things work, but
there is one problem I couldn't solve. Whenever I try to require a
module (after setting package.path and package.cpath right), I get an
error message like this:
error loading module 'posix_c' from file
/usr/lib/lua/5.2/posix_c.so: undefined symbol: lua_gettop
It seems that Lua has found the required module, but the module can't
access liblua.a. No idea why. Posix is just an example, the same
happens with other modules as well.
Any ideas what could be the reason and how to get around this?
You can't load static libraries (`*.a`) using `require` in Lua, so the
last entry (and probably the one before that) is useless.
that you built Vim against Lua 5.1, and you're asking it to load 5.2
modules, which it gets upset about.
Certainly not, the only Lua I have is 5.2.
The next most likely reason is that the vim executable doesn't re-export
the Lua API functions because liblua was linked statically, and the
`-Wl,-E` flag was missing. AFAICT, linking dynamically
(`--enable-luainterp=dynamic`) should work because `RTLD_GLOBAL` is used
when loading liblua in this case ...
So, if you linked liblua statically try `--enable-luainterp=dynamic`
instead, or add `-Wl,-E` (assuming gcc is used as linker) to the
LD_FLAGS for the vim executable.