Patrick Gundlach
2018-03-08 09:36:00 UTC
Hello again,
in tl2018 (pretest) we have the same bug as last year. Would it be possible to fix it once and for all? (or should I setup a cron job?)
$ type lualatex
lualatex is hashed (/opt/texlive2018/bin/x86_64-darwin/lualatex)
~/TeX/luatex/test$ lualatex test
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
restricted system commands enabled.
(./test.tex
LaTeX2e <2017-04-15>
...
(/opt/texlive2018/texmf-dist/tex/latex/booktabs/booktabs.sty) (./test.aux)error
loading module 'luasql.sqlite3' from file './luasql/sqlite3.so':
dlopen(./luasql/sqlite3.so, 6): Symbol not found: _luaL_argerror
Referenced from: ./luasql/sqlite3.so
Expected in: flat namespace
in ./luasql/sqlite3.so
stack traceback:
[C]: in ?
[C]: in function 'cpath specification'
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:291: in function '
?'
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:318: in function <
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:310>
[C]: in function 'require'
[\directlua]:4: in main chunk.
...
where test.tex is:
---------------------------
\documentclass{article}
\usepackage{luacode,booktabs}
\begin{document}
\begin{luacode*}
luasql = require("luasql.sqlite3")
env = assert (luasql.sqlite3())
-- connect to data source
con = assert (env:connect("luasql-test"))
-- retrieve a cursor
cur = assert (con:execute"SELECT name, email from people")
-- print all rows, the rows will be indexed by field names
row = cur:fetch ({}, "a")
tex.sprint([[\begin{tabular}{@{}ll@{}}\toprule]])
tex.sprint([[Name & email \\\midrule]])
while row do
tex.sprint(-2,row.name)
tex.sprint("&")
tex.sprint(-2, row.email)
tex.sprint("\\\\")
-- reusing the table of results
row = cur:fetch (row, "a")
end
tex.sprint([[\bottomrule\end{tabular}]])
-- close everything
cur:close()
con:close()
env:close()
\end{luacode*}
\end{document}
---------------------------
and sqlite3.so is from homebrew (put online at https://download.speedata.de/private/sqlite3.so)
Patrick
in tl2018 (pretest) we have the same bug as last year. Would it be possible to fix it once and for all? (or should I setup a cron job?)
$ type lualatex
lualatex is hashed (/opt/texlive2018/bin/x86_64-darwin/lualatex)
~/TeX/luatex/test$ lualatex test
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
restricted system commands enabled.
(./test.tex
LaTeX2e <2017-04-15>
...
(/opt/texlive2018/texmf-dist/tex/latex/booktabs/booktabs.sty) (./test.aux)error
loading module 'luasql.sqlite3' from file './luasql/sqlite3.so':
dlopen(./luasql/sqlite3.so, 6): Symbol not found: _luaL_argerror
Referenced from: ./luasql/sqlite3.so
Expected in: flat namespace
in ./luasql/sqlite3.so
stack traceback:
[C]: in ?
[C]: in function 'cpath specification'
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:291: in function '
?'
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:318: in function <
...ve2018/texmf-dist/tex/luatex/lualibs/lualibs-package.lua:310>
[C]: in function 'require'
[\directlua]:4: in main chunk.
...
where test.tex is:
---------------------------
\documentclass{article}
\usepackage{luacode,booktabs}
\begin{document}
\begin{luacode*}
luasql = require("luasql.sqlite3")
env = assert (luasql.sqlite3())
-- connect to data source
con = assert (env:connect("luasql-test"))
-- retrieve a cursor
cur = assert (con:execute"SELECT name, email from people")
-- print all rows, the rows will be indexed by field names
row = cur:fetch ({}, "a")
tex.sprint([[\begin{tabular}{@{}ll@{}}\toprule]])
tex.sprint([[Name & email \\\midrule]])
while row do
tex.sprint(-2,row.name)
tex.sprint("&")
tex.sprint(-2, row.email)
tex.sprint("\\\\")
-- reusing the table of results
row = cur:fetch (row, "a")
end
tex.sprint([[\bottomrule\end{tabular}]])
-- close everything
cur:close()
con:close()
env:close()
\end{luacode*}
\end{document}
---------------------------
and sqlite3.so is from homebrew (put online at https://download.speedata.de/private/sqlite3.so)
Patrick
Hi all,
http://tracker.luatex.org/view.php?id=555
------------------------------------
dlopen(./lsqlite3.so, 2): Symbol not found: _luaL_argerror
Referenced from: /Users/patrick/Downloads/lsqlite3-7/lsqlite3.so
Expected in: flat namespace
in /Users/patrick/Downloads/lsqlite3-7/lsqlite3.so
Building LuaTeX with --nostrip solves this issue.
By having "--strip" the default in build.sh, it is not possible for any user (on OS X, perhaps also on other platforms) to use this (and other) external library without downloading the LuaTeX source, download XCode, compile LuaTeX and put LuaTeX in the correct place.
------------------------------------
Patrick
(who is not subscribed to the tex-live list)
http://tracker.luatex.org/view.php?id=555
------------------------------------
dlopen(./lsqlite3.so, 2): Symbol not found: _luaL_argerror
Referenced from: /Users/patrick/Downloads/lsqlite3-7/lsqlite3.so
Expected in: flat namespace
in /Users/patrick/Downloads/lsqlite3-7/lsqlite3.so
Building LuaTeX with --nostrip solves this issue.
By having "--strip" the default in build.sh, it is not possible for any user (on OS X, perhaps also on other platforms) to use this (and other) external library without downloading the LuaTeX source, download XCode, compile LuaTeX and put LuaTeX in the correct place.
------------------------------------
Patrick
(who is not subscribed to the tex-live list)