Dear all,
In late February -- see
http://tug.org/pipermail/luatex/2014-February/004768.html -- I posted a message
to this group about not being able to run a program which tries to load an
external Lua library named "bn" (short for "big numbers", I suppose; see
http://www.tecgraf.puc-rio.br/~lhf/ftp/lua for the source code). Two months
ago, I was using MacTeX2013 (luatex version 0.76), MacOSX 10.7.5, and Lua
5.2.3.
Consider the following MWE (which is actually even simpler than the one I
posted earlier):
% !TEX TS-program = lualatex
\documentclass{article}
\directlua{ require "bn" }
\begin{document}
Hello World.
\end{document}
The error messages I was getting centered around "_luaL_checklstring not being
found" in "bn.so". Most responders reported not being able to replicate the
errors I was encountering. One person (Patrick G.) suggested that the problem
could be related to the one reported in
http://tracker.luatex.org/view.php?id=555, i.e., that it might be caused by a
(missing) compilation flag. According to Hans Hagen's note dated 2013-12-20,
this bug was "closed in 0.78".
Incidentally, to create the lua library file "bn.so", I tweaked the package's
Makefile to set "MAKESO= $(CC) -bundle -undefined dynamic_lookup" rather than
the default "MAKESO= $(CC) -shared". This is per the instructions provided at
http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/install.html for compiling the
library under MacOSX. I was able to compile it without problems.
In the meantime, I've upgraded my system to TeXLive2014 (pretest, luatex
version 0.79.1), MacOSX 10.9.2, and Lua 5.3. Unfortunately, the problem I was
encountering earlier is still there. Specifically, running the MWE above, I now
get:
This is LuaTeX, Version beta-0.79.1 (TeX Live 2014/dev) (rev 4971)
(format=lualatex 2014.4.20) 21 APR 2014 13:13
...
! LuaTeX error error loading module 'bn' from file './bn.so':
dlopen(./bn.so, 6): Symbol not found: _luaL_checklstring
Referenced from: ./bn.so
Expected in: flat namespace
in ./bn.so
stack traceback:
[C]: in ?
[C]: in ?
[C]: in function 'require'
[\directlua]:1: in main chunk.
l.3 \directlua{ require "bn" }
?
Given that I'm now running LuaTeX 0.91.1, the problem I continue to encounter
would appear to be distinct from the one mentioned above.
Is there a flag I need to set during the compilation of the "bn" library so as
to assure that the symbol "_luaL_checklstring" is created/defined? Can anyone
replicate this problem? Please advise.
Best, Mico