[luatex] Finding user-specific Lua binary packages

luigi scarso luigi.scarso at gmail.com
Mon Mar 16 12:25:35 CET 2015

On Mon, Mar 16, 2015 at 12:03 PM, Dirk Laurie <dirk.laurie at gmail.com> wrote:

> 2015-03-16 12:01 GMT+02:00 luigi scarso <luigi.scarso at gmail.com>:
> > well a C modules compiled is a binary, so it could be reasonable.
> I can see why LuaTeX prefers seaching via kpse. I can't see why
> searching on package.path and package.cpath is completely
> discarded. They should be retained as the last fallbacks in
> package.searchers.
> > But in any case
> > package.loadlib (libname, funcname)
> > should work (libname is something like /<my_path>/core.so).
> That works fine for satisfying external references from C packages.
> I.e. if I write a .so that needs liblapack.so, then I should loadlib that.
> But It does not produce Lua-visible objects. It cannot replace
> "require".

This works,
assuming Linux,
a core.so in
and funcname luaopen_core

-- luatex has lfs
local function loadmod(path)
  local current_dir = lfs.currentdir()
  local f, err = lfs.chdir(path  .. "/resources/lib64/")
  if not(f) then
  local mod_dir = lfs.currentdir()
  local _core= package.loadlib( mod_dir .."/core.so","luaopen_core")
  if not(_core) then print("error loading core"); lfs.chdir(current_dir);
os.exit(1) end
  local __core = _core()
  return  __core

local path

local clibm= loadmod(path)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/luatex/attachments/20150316/b0b9e570/attachment.html>

More information about the luatex mailing list