Hi. I've just read in the LuaMetaTeX manual that --permitloadlib allows
loading compiled (.so/.dll) libraries. However, when I try it using ConTeXt
I have an error message (example below):
%hello.tex
\starttext
\startluacode
local hello = require"hellolib" -- hellolib.so
context(hello.helloworld())
\stopluacode
\stoptext
%hello.c
#include <lua.h>
#include <lauxlib.h>
static int helloworld (lua_State *L) {
char hello[] = "Hello world!";
lua_pushstring(L, hello);
return 1;
}
static const struct luaL_Reg hellolib [] = {
{"helloworld", helloworld},
{NULL, NULL}
};
int luaopen_hellolib (lua_State *L){
luaL_newlib(L, hellolib);
return 1;
}
error (lua loadlib): you can only load external libraries when
--permitloadlib is given
On the other hand, manually calling LuaMetaTeX with the ConTeXt format and
--permitloadlib gives the expected result (in this case, a "Hello world!").
How is the correct way to load those libraries? Thank you very much and
sorry if my question seems to be weird.
Best regards,
Jairo :)
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________