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
-----------------------------------------------------------------