Home install of TeX Live: Latexmk complains about perl modules

Hello, everyone.

I’ve been trying to install the TeX Live distribution inside my home folder (under ~/texlive, specifically). However, the latexmk script cannot find the necessary perl modules to execute and fails. I’ve checked, and the installation is correct: the distribution is identified and, as long as I don’t need latexmk specifically, it works. The default installation path for TeX Live installed via manual download is under /usr/local/texlive, but not even in this path it will see the required perl modules. So, how can I point to the system’s perl installation (if that is possible) so I can make this manual installation work?

Are you sure you have all the required perl modules in your system’s perl installation? latexmk should pick them up just fine then, unless you tinker with PERL5LIB.

I did not. However, since the path of installation is either /usr/local, or in my case under home, I guess it’s unable to find them? I can install manually the perl modules it requests via dnf`, but first I don’t know if I should, and second, I really wouldn’t like to.

If the module is needed then that would be the best way to go forward. Otherwise your TexLive install will remain broken.

I meant “tinker” in a friendly way only :innocent:
My point being: by standard, the latexmk perl script should find all modules in the standard search path (system installation) unless PERL5LIB is changed. And that is independent of where you installed latexmk (be it /usr/local/bin or $HOME/bin).

Therefore, installing missing modules by system means is easiest because that way they are found.

Now, if you want to isolate your TeXlive install completely, including the needed extra modules, that’s a different story: in that case, you would install e.g. from CPAN into your homedir and set paths appropriately. I would not recommend that unless you really needed.

In fact, I would recommend Fedora’s TeXlive packages unless you really need the latest TeXlive, or need the local install for some other reason.

That’s what I did, exactly to avoid installing from the repositories. Normally I would, but I fear that having over 4000 texlive packages would slowdown the upgrade process considerably and I don’t want to install package by package as I need them either. In the end, I have to install the perl modules by hand when doing this anyway…

I was afraid that it was going to be a lot of modules or break something, but it wasn’t that many. Still a hassle though.

It depends on your point of view.

Should one install texlive packages from the fedora repos (one or 4000+) and allow the system to keep them all up to date and in sync when routine updates are performed – or – should one install the texlive packages directly which may get a newer version, but necessitates one finding and manually installing all the dependencies, then having the hassles of manually doing any updates to everything installed that way when the time comes.

This is certainly a personal choice and depends on the use case.

Manual installation of software and the necessity of manual upgrades might be best for some and MAY save some time in upgrades, but the trade off is the time and necessity of manual upgrades of those packages.

I normally always install via package manager and have no strong opinion about which way is better as long as it works. My only worry with installing the full texlive scheme with dnf is having system updates being slowed down by it. I’ve tried other schemes and collections in the past, but I don’t like having to stop what I’m doing to go after a missing package, even though the full texlive scheme is certainly excessive. That’s my only issue, really. If there is no effect on system updates, I don’t mind the package count or the disk space.

There certainly can be an impact on updates when updates to texlive are involved since there are over 6000 total texlive packages. This is not necessarily frequent though.

One does not need all the packages installed, but only those that support the necessary workflow. On my laptop I have <300, and on my desktop ~20.

I have both the Fedora distro TeX Live (TL) and CTAN TL installed on my systems. When you install Fedora distro TeX Live you wil get any Perl modules needed by TL. Fedora provides “environment modules” (used to switch between mpich and openmpi). I have an environment modules to enable CTAN TeX Live when I want to ensure that a document formats properly for CTAN users to try out some new CTAN package.

I recommend using the Fedora distro TL when using other Fedora packages that use TL to format documents (e.g., Rstudio). If you are authoring documents that need features of current TL, you

Perl modules required by latexmk:

rpm -qR latexmk | grep '^perl('
perl(Config)
perl(Cwd)
perl(Digest::MD5)
perl(Encode)
perl(File::Basename)
perl(File::Copy)
perl(File::Find)
perl(File::Glob)
perl(File::Path) >= 2.08
perl(File::Spec::Functions)
perl(FileHandle)
perl(List::Util)
perl(Time::HiRes)
perl(Unicode::Normalize)
perl(feature)
perl(sigtrap)
perl(utf8)
perl(vars)
perl(warnings)

You could rundnf install texlive-latexmk make a note of the perl packages that will be installed, then quit dnf and manually install the perl packages.

1 Like