On 11/4/2020 11:01 AM, Jairo A. del Rio wrote:
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.
i should add a --permitloadlib option to the context runner then

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 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
___________________________________________________________________________________

Reply via email to