[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
../resources/lib64/
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
print(err)
os.exit(1)
end
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()
lfs.chdir(current_dir)
return __core
end
local path
path=".."
local clibm= loadmod(path)
print(clibm.exp2f(1.23))
--
luigi
-------------- 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