Termux-packages: Error in texlive installation

Created on 6 Jun 2017  路  14Comments  路  Source: termux/termux-packages

Hello,

the texlive postinstall script gives the following error

Unknown key in profile texlive_inst.profile: option_w32_multi_user option_wirte18_restricted in_place option_post_code option_autobackup option_backupdir option_menu_integration option_desktop_integration option_file_assocs
Stopping here.

I do not know exactly what is stopping here because the installation does go on (with another script ?).

bug report

All 14 comments

This is a very nice idea (to include TeX Live), but what is called "texlive" in Termux is really "bare bones unusable skeleton". I always install a _complete_ TeX Live distribution and even that I consider "bare bones" because on top of it I always install hundreds of extra packages that I use (and some of which I wrote myself).

So, is there a way to force a full installation somehow? E.g. even such key a ingredient as "XeLaTeX" is not installed in Termux by default for some reason.

UPDATE: I guess I need to learn how to use tlmgr. Amazing, I used TeX since 1990s but never needed to do this sort of stuff as I always installed absolutely _everything_ that was included (and used most of it, all the languages, fonts etc :)

@tigran123, you could change the line selected_scheme scheme-basic in termux-install-tl to selected_scheme scheme-full and then run termux-install-tl again to do a full installation. Beware that the full texmf-dist tree takes quite a lot of disk space though.

If you don't have plenty of disk space, it's probably better to use tlmgr to only install those packages that you need.
A nice feature of texlive is the command: texliveonfly something.tex which runs pdflatex (or another compiler, if specified) on something.tex and downloads all missing packages on the fly (through tlmgr).

@Grimler91 Thanks, I will try that. (I always have at least 100GB free space on my mobile :)

@Grimler91 Thank you, it installed perfectly. Less than 9GB of space used (of which 6GB is my own "extra" stuff). But there are problems compiling some of my books --- some fonts are not mapped properly. I'll figure it out later. Since my desktop TeX Live is 2016 (and 2013 for some of my older books which cannot be easily brought to TL2016) I am not sure if this is caused by TeX Live 2017 or is Termux-specific.

UPDATE: The font mapping problem was caused by me forgetting to rsync my desktop's texmf-local with Termux (and my texmf-local contained the font maps for those extra fonts I use). So, in summary: now Termux TeX Live 2017 works PERFECTLY! Thank you very much to all who worked on porting TeX Live to Termux! I'll see if it compiles not only books in English, but some of my more "exotic" books, like Hebrew, Syriac, Slavonic, Armenian etc.

Thanks a lot ; the new version of the package is working well (although I had to manually create a symlink xelatex -> xetex ; I do not know if this is related to tlmgr itself or termux).

I did not know about texliveonfly and it is also very useful ! It also managed to correctly install the missing fonts I am using, which was generally quite painful to do by hand.

@tigran123 My phone has about 9 GB internal memory, squeezing in 3 GB of texlive packages is a bit painful..
We could perhaps provide an option to store the texmf-dist tree in the external storage, that would probably help people with disk space problems (like myself).
Great that it works anyways :)

@ysalmon, the package collection-xetex is not included in the installation profile and the symlink is therefore not generated when texlinks is run. If you install collection-xetex and then run texlinks, then you will get the symlink.

I can add collection-xetex as well on the next update to the package.

Not sure it would be a good idea as it would increase the size of the basic installation (plus people will want luatex, etc.). Maybe print a message at the end of the installation regarding installation of collections and texlinks ? The installer also prompts the user to add some paths to PATH, MANPATH, INFOPATH bu it appears to be done automatically, so maybe inform the user to ignore this instruction (if it is not possible to hide it).

@ysalmon Yeah, we want to find some kind of minimal set of packages that most people have use of. LuaTeX is actually already included.

The idea is to stop using texlive's net installer completely and include a minimal set of packages in the .deb file. Texlive would then be more like all the other termux packages and it would be easier to maintain it. We would, simply put, get more control of the installation and could display some information about how to install missing features or similar.

@Grimler91 Wait, but if you stop using texlive's net installer, then how will people like me (who want _full_ install) manage to install it? One by one, using tlmgr is too painful. The present way of editing the script to point to scheme-full is very good.

Also, I did a find -type l in texmf-dist and there are no symlinks in there, so maybe you are right and it could be moved to external storage. But it needs to be tested to make sure that things still compile when texmf-dist is on a primitive non-Unix filesystem.

@tigran123 tlmgr install scheme-full installs all packages so it can be done without running the tlnet installer as well. (Had to google to learn this)

Yes of course, it would require thorough testing and might be a bit complicated as different devices/android versions have the external storage setup differently.
It's a project for the future.

I used to use texlive with the texmf-dist tree on the external sdcard so I'm pretty sure there would be no problems with compilation and such.

@Grimler91 Excellent, that is a very useful information, brother! And thanks again for doing the work of adding TeX Live to Termux --- now _almost_ my whole development environment is replicated on Termux: python/scipy/numpy/etc + TeX Live + apache/php/mysql (only php and mysql are still missing :)

But for php I already opened an issue #1074 and instead of mysql I should perhaps switch to postgresql which apparently already is in Termux :)

I have done packages upgrade today and for some reason it re-downloaded 108 packages. This is suspicious because this number corresponds (as far as I remember) to the minimalistic texlive that is installed by default. But my installation, of course, contains the complete TeX Live, i.e. thousands of packages. So, my question is: if this upgrade was necessary (doubtful, I usually upgrade once in 3-4 years and I consider my setup to be "latest and greatest" :) --- shouldn't I manually upgrade the rest of the packages?

@tigran123 Everytime texlive is upgraded, the minimal packages are re-downloaded, just as you observed.
This is unnecessary, but I don't see a smooth way of checking if the installer needs to be called or not with the current termux-install-tl script. (One could argue that it should only be run when doing a fresh installation, but that could cause problems if the build.sh-script is changed, new stuff might not work)

The plan is to move towards a properly packaged version of texlive, with which package updates could be done without the user needing to re-download a lot of stuff.

Right, but your question was about upgrading your already downloaded packages.
I don't think you even can upgrade the packages, tlmgr doesn't know that they are installed, it only knows of the minimal packaged.
Running tlmgr check will say: "Files present but not covered (relative to /data/data/com.termux/files/usr/opt/texlive/2017):" and return a looooong list of file names.
This means that the files are there but that tlmgr don't know that they belong to packages.

The only way to upgrade the packages would therefore be by reinstalling all of them so that tlmgr recognizes them. The list tlmgr analyses is $PREFIX/opt/texlive/2017/tlpkg/texlive.tlpdb and this file is unfortunately replaced everytime termux-install-tl is run.

Your installed packages will continue to work even if they aren't covered by tlmgr.

Ah, ok, thank you. I was only worried that the upgrade might break those other packages, but hopefully it won't, so everything will continue to work. Thank you! :)

In any case, I've tested compiling some of my books and they compile just fine, so there is no problem.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bkdwt picture bkdwt  路  3Comments

thurask picture thurask  路  3Comments

Wetitpig picture Wetitpig  路  3Comments

loveablefellow007 picture loveablefellow007  路  3Comments

tigran123 picture tigran123  路  3Comments