[luatex] luatex-0.95.0 on Debian - Undefined control sequence: \luatexluaescapestring

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Apr 19 08:34:02 CEST 2017


On 19/04/2017 06:14, Eduardo Ochs wrote:
> Hi all,
> 
> I am trying to install luatex-0.95.0 on a Debian system that comes
> with a TeXlive in which the version of luatex is:
> 
>   beta-0.76.0-2013121407 (rev 4627)
> 
> I have the impression that I am *almost* succeeding without applying
> the patch to texmf.cnf that Norbert mentioned here:
> 
>   http://tug.org/pipermail/luatex/2017-March/006434.html
> 
> I am avoiding that patch this moment because I don't understand it
> well enough yet =(...
> 
> Here is the script that I used, with comments; fmtutil succeeds on
> dviluatex.ini and luatex.ini, but fails on lualatex.ini with this
> error,
> 
>   ! Undefined control sequence.
>   \bbl at hook@everylanguage ...\luatexluaescapestring
>                                                     {\string #1}') ==
> nil)}\if...
> 
> I've put a more readable version of all this here:
> 
>   http://angg.twu.net/luatex.html#install-recent-luatex
> 
> All hints are welcome...
> Here is the script:
> 
> 
> 
> # Build luatex-0.95.0
> #
> rm -Rv ~/usrc/luatex/
> mkdir  ~/usrc/luatex/
> cd     ~/usrc/luatex/
> tar -xJvf $S/https/foundry.supelec.fr/frs/download.php/latestfile/6/0.95.0.doc.tar.xz
> tar -xJvf $S/https/foundry.supelec.fr/frs/download.php/latestfile/6/0.95.0.tar.xz
> cd     ~/usrc/luatex/0.95.0/
> ./build.sh 2>&1 | tee ob
> 
> # Save Debian's luatex as /usr/bin/luatex-orig,
> # and install luatex-0.95.0 as /usr/bin/luatex
> #
> sudo mv -iv /usr/bin/luatex \
>             /usr/bin/luatex-orig
> sudo rm -v  /usr/bin/luatex
> ls -lAF    ~/usrc/luatex/0.95.0/build/texk/web2c/luatex
> sudo cp -s ~/usrc/luatex/0.95.0/build/texk/web2c/luatex \
>             /usr/bin/luatex
> 
> # Extract the .ini files (and their most obvious dependencies) from
> # Debian Sid's luatex package, and copy them to ~/usrc/tex-ini-files/
> #
> rm -Rv ~/usrc/texlive-base/
> mkdir  ~/usrc/texlive-base/
> cd     ~/usrc/texlive-base/
> ar t $S/http/http.debian.net/debian/pool/main/t/texlive-base/texlive-base_2016.20170123-5_all.deb
> ar p $S/http/http.debian.net/debian/pool/main/t/texlive-base/texlive-base_2016.20170123-5_all.deb
> \
>   data.tar.xz | tar -xvJf -
> 
> rm -Rv ~/usrc/tex-ini-files/
> mkdir  ~/usrc/tex-ini-files/
> cd     ~/usrc/tex-ini-files/
> cp -v  ~/usrc/texlive-base/usr/share/texlive/texmf-dist/tex/generic/tex-ini-files/*
> .
> cp -v  ~/usrc/texlive-base/usr/share/texlive/texmf-dist/tex/generic/unicode-data/*
> .
> 
> # Run "fmtutil --byengine luatex" telling it to use the files in
> # ~/usrc/tex-ini-files/. Note that the .fmt files will be put in
> # ~/.texmf-var/web2c/luatex/.
> #
> cd ~/usrc/luatex/0.95.0/
> TEXINPUTS=$HOME/usrc/tex-ini-files/: \
>   fmtutil --byengine luatex    2>&1 | tee ofmtutil
> 
> # What happens: fmtutil generates .fmt files for dviluatex.ini and
> # luatex.ini, but when it tries to process lualatex.ini it aborts
> # with:
> #
> # This is LuaTeX, Version 0.95.0 (TeX Live 2016)  (INITEX)
> #  restricted system commands enabled.
> # (/home/edrx/usrc/tex-ini-files/lualatex.ini
> #  (...)
> # ! Undefined control sequence.
> # \bbl at hook@everylanguage ...\luatexluaescapestring
> #                                                   {\string #1}') ==
> nil)}\if...

There were some changes in how the LuaTeX primitives are made available
in LaTeX: the older approach was to prefix with \luatex..., but that has
now been dropped. There were a small number of places that other files
had to be updated to account for this. For a 'standard' TeX installation
that was fine: it all got done very rapidly. However, as you are using a
'home built' set up that is much more tricky. The full log is going to
be needed here to track everything down. (From memory this is not an
issue with the binary per se: we covered both the older and newer ones
in latex.ltx and the new .ini files.)

Joseph



More information about the luatex mailing list