Minimals/MTXrun: 32-bit system with 64-bit kernel: `MTXrun | no 'texmf-linux-64'`
Dear ConTeXt folks, I am running a 32-bit system with a 64-bit kernel. So relying on uname -m to determine the architecture leads to problems [1]. So I do `cpu = "i686` manually in `first-setup.sh` but I still do get the the following error message. sent 1145 bytes received 8908331 bytes 774737.04 bytes/sec total size is 31230200 speedup is 3.51 MTXrun | mtx update: updating mtxrun for linux: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun MTXrun | run: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun → MTXrun | no 'texmf-linux-64' under tree /opt/context/tex When you want to use context, you need to initialize the tree by typing: . /opt/context/tex/setuptex `first-setup.sh` executes the following command # download or update the distribution # you may remove the --context=beta switch if you want to use "current" mtxrun --verbose --script ./bin/mtx-update.lua --update --make --force --engine=all --context=beta --platform=$platform --texroot=$PWD/tex $@ but `mtxrun` or `mtx-update.lua` does not seem to honor the option `--platform` all the way. I tried to even hardcode `platform` to `linux` in `mtxrun` but it does not help.¹ elseif name == "linux" then function os.resolvers.platform(t,k) -- we sometims have HOSTTYPE set so let's check that first local platform, architecture = "", os.getenv("HOSTTYPE") or os.resultof("uname -m") or "" if find(architecture,"x86_64") then platform = "linux-64" elseif find(architecture,"ppc") then platform = "linux-ppc" else platform = "linux" end os.setenv("MTX_PLATFORM",platform) os.platform = platform → return "linux" end Could you please tell me, where the path for the `texmf` directory is determined and how I can force that to a certain platform. Thanks, Paul [1] http://tug.org/pipermail/tex-live/2009-June/021119.html [2] http://tug.org/pipermail/tex-live/2009-June/021124.html
On Mon, 24 Jan 2011, Paul Menzel wrote:
Dear ConTeXt folks,
I am running a 32-bit system with a 64-bit kernel. So relying on
uname -m
to determine the architecture leads to problems [1].
So I do `cpu = "i686` manually in `first-setup.sh` but I still do get the the following error message.
sent 1145 bytes received 8908331 bytes 774737.04 bytes/sec total size is 31230200 speedup is 3.51
MTXrun | mtx update: updating mtxrun for linux: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun MTXrun | run: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun → MTXrun | no 'texmf-linux-64' under tree /opt/context/tex When you want to use context, you need to initialize the tree by typing:
. /opt/context/tex/setuptex
`first-setup.sh` executes the following command
# download or update the distribution # you may remove the --context=beta switch if you want to use "current" mtxrun --verbose --script ./bin/mtx-update.lua --update --make --force --engine=all --context=beta --platform=$platform --texroot=$PWD/tex $@
but `mtxrun` or `mtx-update.lua` does not seem to honor the option `--platform` all the way.
I tried to even hardcode `platform` to `linux` in `mtxrun` but it does not help.¹
elseif name == "linux" then
function os.resolvers.platform(t,k) -- we sometims have HOSTTYPE set so let's check that first local platform, architecture = "", os.getenv("HOSTTYPE") or os.resultof("uname -m") or "" if find(architecture,"x86_64") then platform = "linux-64" elseif find(architecture,"ppc") then platform = "linux-ppc" else platform = "linux" end os.setenv("MTX_PLATFORM",platform) os.platform = platform → return "linux" end
Could you please tell me, where the path for the `texmf` directory is determined and how I can force that to a certain platform.
You could try setting HOSTTYPE to anything other than ppc or x86_64. Aditya
Am Sonntag, den 23.01.2011, 20:50 -0500 schrieb Aditya Mahajan:
On Mon, 24 Jan 2011, Paul Menzel wrote:
I am running a 32-bit system with a 64-bit kernel. So relying on
uname -m
to determine the architecture leads to problems [1].
So I do `cpu = "i686` manually in `first-setup.sh` but I still do get the the following error message.
sent 1145 bytes received 8908331 bytes 774737.04 bytes/sec total size is 31230200 speedup is 3.51
MTXrun | mtx update: updating mtxrun for linux: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun MTXrun | run: rsync -tgo --chmod=a+x /opt/context/tex/texmf-context/scripts/context/lua/mtxrun.lua /opt/context/tex/texmf-linux/bin/mtxrun → MTXrun | no 'texmf-linux-64' under tree /opt/context/tex When you want to use context, you need to initialize the tree by typing:
. /opt/context/tex/setuptex
`first-setup.sh` executes the following command
# download or update the distribution # you may remove the --context=beta switch if you want to use "current" mtxrun --verbose --script ./bin/mtx-update.lua --update --make --force --engine=all --context=beta --platform=$platform --texroot=$PWD/tex $@
but `mtxrun` or `mtx-update.lua` does not seem to honor the option `--platform` all the way.
I tried to even hardcode `platform` to `linux` in `mtxrun` but it does not help.¹
elseif name == "linux" then
function os.resolvers.platform(t,k) -- we sometims have HOSTTYPE set so let's check that first local platform, architecture = "", os.getenv("HOSTTYPE") or os.resultof("uname -m") or "" if find(architecture,"x86_64") then platform = "linux-64" elseif find(architecture,"ppc") then platform = "linux-ppc" else platform = "linux" end os.setenv("MTX_PLATFORM",platform) os.platform = platform → return "linux" end
Could you please tell me, where the path for the `texmf` directory is determined and how I can force that to a certain platform.
You could try setting HOSTTYPE to anything other than ppc or x86_64.
Thank you for that hint. (It looks like I overlooked that `platform` is used beforehand to set `MTX_PLATFORM` and `os.platform`. So `--platform` does not seem to be honored all the way.) Your hint gave me more output but left me with a non-working system. $ HOSTTYPE="linux" mtxrun --verbose --script ./bin/mtx-update.lua --update --make --force --engine=all --context=beta --platform="linux" --texroot=/opt/context/tex MTXrun | fileio: variable 'SELFAUTOLOC' set to '/usr/bin' MTXrun | fileio: variable 'SELFAUTODIR' set to '/usr' MTXrun | fileio: variable 'SELFAUTOPARENT' set to '/' MTXrun | fileio: variable 'TEXMFCNF' set to '{$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,.local,}/web2c}' MTXrun | fileio: skipping 'configuration' for '/usr/share/texmf/web2c' from '/home/joe/luatex-cache/context/6300afb4995fe38c77e9b86ed1ef1028/trees/f7d1b3c25487ab1e1035aff1c53b90da' MTXrun | using script: ./bin/mtx-update.lua MTXrun | state: loaded MTXrun | update: start MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/base/tex/ minimals/current/base/metapost/ minimals/current/fonts/common/ minimals/current/fonts/other/ minimals/current/misc/web2c minimals/current/base/xetex/ minimals/current/fonts/new/ minimals/current/fonts/new/ minimals/current/fonts/old/' '/opt/context/tex/texmf' receiving incremental file list sent 140 bytes received 63713 bytes 25541.20 bytes/sec total size is 80642372 speedup is 1262.94 MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/context/beta/ minimals/current/context/img/' '/opt/context/tex/texmf-context' receiving incremental file list ./ bibtex/ […] $ . /opt/context/tex/setuptex Setting "/opt/context/tex" as ConTeXt root. $ texexec --version MTXrun | kpse fallback with progname 'context' initialized in 0 seconds $ texexec --version MTXrun | kpse fallback with progname 'context' initialized in 0 seconds $ texexec --lua test.tex # example from [3] MTXrun | kpse fallback with progname 'context' initialized in 0 seconds The whole output with `--verbose` is attached (compressed, as the other message did not make it through). Again there is the following line in there. MTXrun | resolvers: skipping list of '/opt/context/tex/texmf-linux-64' (cached) I also tried to prefix the last two command with `HOSTTYPE="linux"`. Any ideas? Thanks, Paul [3] http://wiki.contextgarden.net/Second_Step
On Mon, 24 Jan 2011, Paul Menzel wrote:
MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/base/tex/ minimals/current/base/metapost/ minimals/current/fonts/common/ minimals/current/fonts/other/ minimals/current/misc/web2c minimals/current/base/xetex/ minimals/current/fonts/new/ minimals/current/fonts/new/ minimals/current/fonts/old/' '/opt/context/tex/texmf'
MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/context/beta/ minimals/current/context/img/' '/opt/context/tex/texmf-context'
There is no texmf-linux or texmf-linux-64 directory here. Can you check which binaries are downloaded?
$ . /opt/context/tex/setuptex Setting "/opt/context/tex" as ConTeXt root.
[...]
Again there is the following line in there.
MTXrun | resolvers: skipping list of '/opt/context/tex/texmf-linux-64' (cached)
Did you modify setuptex to set the correct value for $TEXMFOS and $PATH. This is what I do in the PKGBUILD for arch linux echo "TEXMFOS=${_dest}/texmf-${_platform}" > $srcdir/tex/setuptex echo "export TEXMFOS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "TEXMFCACHE=\$HOME/texmf-cache" >> $srcdir/tex/setuptex echo "export TEXMFCACHE" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "unset TEXINPUTS MPINPUTS MFINPUTS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "PATH=\$TEXMFOS/bin:\$PATH" >> $srcdir/tex/setuptex echo "export PATH" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "OSFONTDIR=\"$_userfontdir;$_osfontdir;\"" \ >> $srcdir/tex/setuptex echo "export OSFONTDIR" >> $srcdir/tex/setuptex Here $_platform is either linux or linux-64, and $_dest is the installation location, and (by default) $_userfontdir="\$HOME/.fonts" and $_osfontdir="/usr/share/fonts". Aditya
Am Montag, den 24.01.2011, 19:18 -0500 schrieb Aditya Mahajan:
On Mon, 24 Jan 2011, Paul Menzel wrote:
MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/base/tex/ minimals/current/base/metapost/ minimals/current/fonts/common/ minimals/current/fonts/other/ minimals/current/misc/web2c minimals/current/base/xetex/ minimals/current/fonts/new/ minimals/current/fonts/new/ minimals/current/fonts/old/' '/opt/context/tex/texmf'
MTXrun | run: rsync -rpztlv --delete contextgarden.net::'minimals/current/context/beta/ minimals/current/context/img/' '/opt/context/tex/texmf-context'
There is no texmf-linux or texmf-linux-64 directory here. Can you check which binaries are downloaded?
$ $ ls /opt/context/tex/ setuptex setuptex.csh texmf-cache texmf-fonts texmf-local setuptex.bat texmf texmf-context texmf-linux texmf-project $ file /opt/context/tex/texmf-linux/bin/xetex tex/texmf-linux/bin/xetex: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.0, stripped So it looks like these are the correct binaries for my system.
$ . /opt/context/tex/setuptex Setting "/opt/context/tex" as ConTeXt root.
[...]
Again there is the following line in there.
MTXrun | resolvers: skipping list of '/opt/context/tex/texmf-linux-64' (cached)
Did you modify setuptex to set the correct value for $TEXMFOS and $PATH. This is what I do in the PKGBUILD for arch linux
echo "TEXMFOS=${_dest}/texmf-${_platform}" > $srcdir/tex/setuptex echo "export TEXMFOS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "TEXMFCACHE=\$HOME/texmf-cache" >> $srcdir/tex/setuptex echo "export TEXMFCACHE" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "unset TEXINPUTS MPINPUTS MFINPUTS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "PATH=\$TEXMFOS/bin:\$PATH" >> $srcdir/tex/setuptex echo "export PATH" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "OSFONTDIR=\"$_userfontdir;$_osfontdir;\"" \ >> $srcdir/tex/setuptex echo "export OSFONTDIR" >> $srcdir/tex/setuptex
Here $_platform is either linux or linux-64, and $_dest is the installation location, and (by default) $_userfontdir="\$HOME/.fonts" and $_osfontdir="/usr/share/fonts".
srcdir="/opt/context" _platform="linux" _dest="/opt/context/tex" _userfontdir="\$HOME/.fonts" _osfontdir="/usr/share/fonts" echo "TEXMFOS=${_dest}/texmf-${_platform}" > $srcdir/tex/setuptex echo "export TEXMFOS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "TEXMFCACHE=\$HOME/texmf-cache" >> $srcdir/tex/setuptex echo "export TEXMFCACHE" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "unset TEXINPUTS MPINPUTS MFINPUTS" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "PATH=\$TEXMFOS/bin:\$PATH" >> $srcdir/tex/setuptex echo "export PATH" >> $srcdir/tex/setuptex echo "" >> $srcdir/tex/setuptex echo "OSFONTDIR=\"$_userfontdir;$_osfontdir;\"" \ >> $srcdir/tex/setuptex echo "export OSFONTDIR" >> $srcdir/tex/setuptex Thank you very much for your continued support. But it still does not work. $ texexec --verbose --lua example.tex MTXrun | resolvers: variable 'SELFAUTOLOC' set to '/opt/context/tex/texmf-linux/bin' MTXrun | resolvers: variable 'SELFAUTODIR' set to '/opt/context/tex/texmf-linux' MTXrun | resolvers: variable 'SELFAUTOPARENT' set to '/opt/context/tex' MTXrun | resolvers: variable 'TEXMFCNF' set to '' MTXrun | resolvers: variable 'TEXMF' set to '' MTXrun | resolvers: variable 'TEXOS' set to 'texmf-linux' MTXrun | resolvers MTXrun | resolvers: loading configuration file '/opt/context/tex/texmf/web2c/texmfcnf.lua' MTXrun | resolvers MTXrun | resolvers: skipping list of '/home/joe/texmf' (runtime) MTXrun | resolvers: locating list of '/opt/context/tex/texmf-project' (cached) MTXrun | resolvers: resolver: method=locators, how=uri, scheme=file, argument=/opt/context/tex/texmf-project MTXrun | resolvers: file locator '/opt/context/tex/texmf-project' found MTXrun | resolvers: hash '/opt/context/tex/texmf-project' appended MTXrun | resolvers: locating list of '/opt/context/tex/texmf-fonts' (cached) MTXrun | resolvers: resolver: method=locators, how=uri, scheme=file, argument=/opt/context/tex/texmf-fonts MTXrun | resolvers: file locator '/opt/context/tex/texmf-fonts' found MTXrun | resolvers: hash '/opt/context/tex/texmf-fonts' appended MTXrun | resolvers: locating list of '/opt/context/tex/texmf-local' (cached) MTXrun | resolvers: resolver: method=locators, how=uri, scheme=file, argument=/opt/context/tex/texmf-local MTXrun | resolvers: file locator '/opt/context/tex/texmf-local' found MTXrun | resolvers: hash '/opt/context/tex/texmf-local' appended MTXrun | resolvers: locating list of '/opt/context/tex/texmf-context' (cached) MTXrun | resolvers: resolver: method=locators, how=uri, scheme=file, argument=/opt/context/tex/texmf-context MTXrun | resolvers: file locator '/opt/context/tex/texmf-context' found MTXrun | resolvers: hash '/opt/context/tex/texmf-context' appended MTXrun | resolvers: skipping list of '/opt/context/tex/texmf-linux-64' (cached) MTXrun | resolvers: locating list of '/opt/context/tex/texmf' (cached) MTXrun | resolvers: resolver: method=locators, how=uri, scheme=file, argument=/opt/context/tex/texmf MTXrun | resolvers: file locator '/opt/context/tex/texmf' found MTXrun | resolvers: hash '/opt/context/tex/texmf' appended MTXrun | resolvers MTXrun | resolvers: resolver: method=hashers, how=uri, scheme=file, argument=/opt/context/tex/texmf-project MTXrun | resolvers: skipping 'files' for '/opt/context/tex/texmf-project' from '/home/joe/texmf-cache/luatex-cache/context/892e2d355563884244c3d97062d606d5/trees/f54c1c270a88994081e49ab142e11c39' MTXrun | resolvers: resolver: method=hashers, how=uri, scheme=file, argument=/opt/context/tex/texmf-fonts MTXrun | resolvers: skipping 'files' for '/opt/context/tex/texmf-fonts' from '/home/joe/texmf-cache/luatex-cache/context/892e2d355563884244c3d97062d606d5/trees/839d0522e8118581d4ca1fc505ad540a' MTXrun | resolvers: resolver: method=hashers, how=uri, scheme=file, argument=/opt/context/tex/texmf-local MTXrun | resolvers: skipping 'files' for '/opt/context/tex/texmf-local' from '/home/joe/texmf-cache/luatex-cache/context/892e2d355563884244c3d97062d606d5/trees/1ef3270499bc2b91184527463ba95998' MTXrun | resolvers: resolver: method=hashers, how=uri, scheme=file, argument=/opt/context/tex/texmf-context MTXrun | resolvers: skipping 'files' for '/opt/context/tex/texmf-context' from '/home/joe/texmf-cache/luatex-cache/context/892e2d355563884244c3d97062d606d5/trees/cd7f4d886b75bbc1f594e3c7db44f7de' MTXrun | resolvers: resolver: method=hashers, how=uri, scheme=file, argument=/opt/context/tex/texmf MTXrun | resolvers: skipping 'files' for '/opt/context/tex/texmf' from '/home/joe/texmf-cache/luatex-cache/context/892e2d355563884244c3d97062d606d5/trees/db79f8e428ff29ddda04948ba245fb7f' MTXrun | resolvers: using given filetype 'texmfscripts' MTXrun | kpse fallback with progname 'context' initialized in 0 seconds $ context example.tex […] MTXrun | resolvers: using suffix based filetype 'lua' MTXrun | resolvers: using suffix based filetype 'lua' MTXrun | resolvers: remembering file 'mtx-context.lua' MTXrun | resolvers: using suffix based filetype 'lua' MTXrun | unknown script 'context.lua' or 'mtx-context.lua' 1. Could there be some corrupted caches which need to be deleted? I reinstalled everything by deleting `/opt/context`. But maybe something was left over from the broken installation beforehand? 2. How can I update ConTeXt Minimals without getting `setuptex` replaced every time? Just copy the one for me to a different location? Thanks, Paul
On 25-1-2011 2:00, Paul Menzel wrote:
1. Could there be some corrupted caches which need to be deleted? I reinstalled everything by deleting `/opt/context`. But maybe something was left over from the broken installation beforehand? 2. How can I update ConTeXt Minimals without getting `setuptex` replaced every time? Just copy the one for me to a different location?
yes, or you can just add the right bin path to your path environment variable and not use setuptex at all ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Mon, Jan 24, 2011 at 02:13, Paul Menzel wrote:
Dear ConTeXt folks,
I am running a 32-bit system with a 64-bit kernel. So relying on
uname -m
to determine the architecture leads to problems [1].
I am aware of that. At the moment it is a bit nasty since --platform is not favoured (the switch was meant to allow installing minimals for multiple platforms at the same time, but that one should be called --platforms) and somehow mtxrun has its own ideas about which platform it is running on (I would like to get rid of that dependency completely one day). The easiest thing for "setuptex" is to either rename the file (so that your changes won't be lost next time) or to just change the PATH (you don't really have to run setuptex as it doesn't do anything else but set the path to binaries). However I'm aware that it already crashes earlier. 1.) Do you have any idea if there is some way to figure out that your machine is not able to run 64-bit binaries? (we had exactly the same problem on the old contextgarden and it is something common on macs) 2.) Since luatex does architecture guessing anyway ... it would be really great if luatex knew whether it was compiled for 32-bit or 64-bit or ppc or ... Mojca
participants (4)
-
Aditya Mahajan
-
Hans Hagen
-
Mojca Miklavec
-
Paul Menzel