This is the output from LaTeX (MWE is at the end of this post):

Running LaTeX' onluatex_test' with ``lualatex --jobname=luatex_test -file-line-error -interaction=nonstopmode "\input" luatex_test.tex'' Unable to read environment locale:exit now.

If I set TeX engine to be latex instead of lualatex in Emacs (I use version 25.1 (9.0)), it completes compilation. Also, the compilation completes if I call lualatex from the terminal.

Running locale in Emacs's shell gives:



Test compilation with luatex.
%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:

Which variable in Emacs do I need to customize?

  • 1
    I removed emacs tag as it happens if you run it directly in the shell, you could set LANG to be en_US.UTF-8 Commented Jun 10, 2017 at 19:07
  • 3
    Raised as tug.org/pipermail/luatex/2017-June/006576.html Commented Jun 10, 2017 at 20:22
  • I even encountered this with LANG="en_US.UTF-8". Answers in this thread suggest this should work (since it's nothing arcane like en_DE). Running LANG= lualatex file.tex works (empty value).
    – Alex Povel
    Commented Feb 20, 2021 at 14:21

3 Answers 3


I can confirm the same using cygwin texlive 2017 it is enough to set

export LANG="en_DE.UTF-8" 

lualatex testfile

to get

Unable to read environment locale:exit now.

You should raise this on the luatex list, or I could, although en_DE seems like a strange locale. German English?

Setting LANG to (say) en_US makes it work again.

It has been confirmed in the thread on the luatex list starting at


that it is by design that luatex quits on unknown locale, although they may try to make the error message a bit more helpful.

en_DE seems a strange value, depending on your operating system you may be able to use

locale -a

to list all the known values.

On my system

locale -a | grep en_

lists 37 en_ variants, but en_DE is not one of them.

So I would not fix this in the emacs editor setup but rather set your locale to something other than en_DE in your shell.

  • How do I set it in Emacs? I have found current-language-enivronment, but it is already English. Commented Jun 10, 2017 at 20:52
  • @ted_kingdom M-x setenv I guess. Commented Jun 10, 2017 at 21:01
  • 3
    @ted_kingdom - Try adding something like this %%% eval: (setenv "LANG" "de_DE.UTF-8") in your .tex file in Local Variables: and reopen the file. Commented Jun 10, 2017 at 21:03
  • @DavidCarlisle, en_DE means that in my system preferences I have Germany set as a region. Interestingly, on my other laptop where it says Sweden I do not have a problem with locale being en_SE. However, changing Germany to Sweden doesn't do the trick. Commented Jun 11, 2017 at 10:00
  • @DavidCarlisle, Even if I set export LANG="en_US" I get error. Should I set any other variable as well?
    – Royi
    Commented May 26, 2018 at 23:28

Changing the locale in my shell configuration file did not solve the problem. I found the reason here: locale when launching Emacs.app on OS X.

What did solve the problem was either adding %%% eval: (setenv "LANG" "de_DE.UTF-8") to my source file, as suggested in the comments, or adding this line to .emacs file: (setenv "LANG" "en_US.UTF-8").


On my system, I have the en_DK.utf8 locale set (except for LC_TIME, which is apparently set to da_DK.utf8). I also ran into this error.

Other answers here insinuate that it is the "weird" form of the chosen locale -- ie. there is really no such thing as danish/german english -- that is the cause of the problem. That is not correct, because in my case changing en_DK to en_GB did not help the problem.

Rather the issue is that one of the set locales is not installed. In my case, it was actually the da_DK.utf8 locale that wasn't installed! You can check which locales are currently set with locale and list installed ones with locale -a. Install missing locales by running

sudo locale-gen da_DK.utf8
sudo update-locale

As described in this link. Lualatex will work then work fine, even with "weird" locales like en_DK, provided that it is installed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .