$ lua
Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio
> require('lua_libpulse_glib').new():context('a')
pulseaudio.context: 0x55ddb22b3a38
>
But:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libselinux.so.1 lua
Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio
> require('lua_libpulse_glib').new():context('a')
>
Seems like this function overrides the one from this library: https://www.mankier.com/3/context_new.
The fix would be to replace #define LUA_MOD_EXPORT extern (extern on defined functions doesn't make sense anyway, AFAIK) with #define LUA_MOD_EXPORT __attribute__((visibility("default"))) and to add -fvisibility=hidden to CFLAGS in the Makefile.