[luatex] MySQL driver not found from inside LuaLaTeX
Faheem Mitha
faheem at faheem.info
Wed Feb 28 17:01:33 CET 2024
Hi Sergei,
This comes up a lot, and the solution really should be easier to find.
On Wed, 28 Feb 2024, sergei.naumov at gmail.com wrote:
> Hi!
> I am new to LuaTeX and LuaLaTeX, please, bear with my ignorance of some
> probably basic things. :-) I need to get strings from MySQL database and
> the test Lua code that does it works fine when it is called from the
> command line:
You're probably looking for https://ctan.org/pkg/luapackageloader?lang=en
Regards, Faheem Mitha
> require("string")
> function projects_from_db ()
> DBI = require("DBI")
> dbh = assert(DBI.Connect('MySQL','serge', 'serge', 'serge', 'localhost', 3306))
> sth = assert(dbh:prepare('SELECT name,budget FROM projects'))
> sth:execute()
> for row in sth:rows() do
> print(string.format("%-55s & %7.1f \\\\",row[1],row[2]))
> end
> dbh:close()
> end
>
> -- projects_from_db()
>
> However, when I put it into latex file
>
> \usepackage{luacode}
> \usepackage{luapackageloader}
> \directlua{dofile('dbd.lua')}
> \newcommand{\projectsfromdb}{\luadirect{projects_from_db()}}
>
> It says that MySQL driver can not be found:
> ./DBI.lua:53: Cannot load driver MySQL. Available drivers are: (None)
> stack traceback:
> [C]: in function 'error'
> ./DBI.lua:53: in function 'DBI.Connect'
> dbd.lua:6: in function 'projects_from_db'
> [\directlua]:1: in main chunk.
> \luadirect ... { \luacode at maybe@printdbg {#1} #1 }
>
> l.64 \projectsfromdb
> Why is that? I checked package.cpath from Lua and the necessary path is there:
>
> Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio
> > package.cpath
> /usr/lib64/lua/5.3/?.so;/usr/lib64/lua/5.3/loadall.so;./?.so
>
> I tried to set a few environment variables:
>
> LUAROCKS_CPATH=/usr/lib64/lua/5.3
> LUAROCKS_PATH=/usr/share/lua/5.3
>
> but it did not make any difference
>
> --
> Thanks,
> Sergei
>
>
More information about the luatex
mailing list.