So I run explicitly the second one: ~/context-lmtx/bin/mtxrun --generate but I got the same error.
This is the wrong binary. As Hans said (and also what I wrote in my message) is that you have to run the one in ~/context-lmtx/tex/texmf-linux-64/bin/
This shows that the wrong binary is being used. You are using the binary in /home/sam/context-lmtx/bin when you should use /home/sam/context-lmtx/tex/texmf-linux-64/bin.
I ran into a similar problem in the past because the installation script install.sh says the following, among other things: "If you want to run ConTeXt everywhere, you need to adapt the path, like: [lmtx path]/bin:[lmtx path]/tex/texmf-linux-64/bin:[the rest of my path]" Doing as suggested, when mtxrun is launched the first binary is used because [lmtx path]/bin comes first in the PATH. My question is then how do you usually run mtxrun: 1) always writing the full path of the correct executable, 2) avoid putting [lmtx path]/bin in PATH, 3) putting [lmtx path]/bin _after_ [lmtx path]/tex/texmf-linux-64/bin in the PATH I'm asking here because option 1 is correct but not very handy, while 2) and 3) are different from what the installer says and they seemed to give other problems when I tried them. Thank you in advance, LD