lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Am 24.08.2014 um 15:03 schröbte Dirk Laurie:
LPeg 12.1 buils under Lua 5.3.0-alpha but does not run.

$ lua -l lpeg
lua: error loading module 'lpeg' from file '/usr/local/lib/lua/5.3/lpeg.so':
     /usr/local/lib/lua/5.3/lpeg.so: undefined symbol: lua_equal
stack traceback:
     [C]: in ?
     [C]: in function 'require'
     [C]: in ?

Just before that run, I did a successful 'make install' of Lua 5.3.0 and
a successful 'luarocks install lpeg'.


In my opinion the current LuaRocks setup is seriously broken when there
is any ambiguity whatsoever as far as the Lua version is concerned. The
main reason why I say so is that it ferrets about in $HOME/bin, discovers
that I have a ~/lua53 and prefers that over what `/usr/bin/env lua` would
call. Where does LuaRocks think it is going to find the correct include files
and libraries for that?

And I guess that's the problem: It probably used the Lua include files from `/usr/include`. So the `lpeg.so` you installed for Lua 5.3 is built for some other Lua version. The `configure` script which does all that auto-detecting should probably do more sanity checks and verify that the versions match ...


Moreover, the <version> parameter on `luarocks install` is not documented
beyond a bare mention by `luarocks help install`. It does not what I have
so far managed to guess.


It installs a specific version of a module. What did you guess?


Philipp