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

    

Reply via email to