Unable to install texlive-full

Hello,

I’m trying to install texlive-full with pamac but I keep getting blocked by this error.

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1861) [generator=3.2.7]
==> ERROR: An error occurred in prepare().

I can’t compile a latex document without the full Texlive distribution because I get an error message saying latexindent to unknown PATH. I didn’t get this error previously on Debian because I had Latex-full installed via the apt repository which didn’t rule out any dependency problems. If anyone has a solution, I’m interested.

Thanks in advance for any help.

Please post the whole log.

latexindent should be in the texlive-binextra package.

I have also installed it. Maybe I should add it manually to PATH. But I don’t know if when I execute the .TEX file in vscodium, it uses bash ZSH or fish that I installed.

I don’t understand why you would want to execute a tex file in a programming IDE.

If you install it with texlive-binextras, then it’s installed in /usr/bin do it’s already in the PATH.

Please provide error logs, messages, and the things you tried.

I write all my Latex documents in VScodium with the Latex Workshop extension. The autocompletions are more advanced and I have many other features like snippets that I don’t have on online editors like Overleaf. Before migrating to Manjaro, with Debian and the latex-full package I could easily compile my documents in the IDE for PDF rendering. But now when I compile I get this.

Here’s what the console output looks like:

[19:23:57.627][Event] STRUCTURE_UPDATED
[19:23:59.509][Format][TeX] Start formatting with latexindent.
[19:23:59.510][Format][TeX] Checking latexindent: which latexindent
[19:23:59.525][Format][TeX] Error when checking latexindent: which: no latexindent in (/app/bin:/app/bin:/app/bin:/usr/bin:/home/gabriel/.var/app/com.vscodium.codium/data/node/bin:/home/gabriel/.var/app/com.vscodium.codium/data/cargo/bin:/home/gabriel/.var/app/com.vscodium.codium/data/python/bin:/home/gabriel/.var/app/com.vscodium.codium/data/gem/ruby/3.2.0/bin)

[19:23:59.525][Format][TeX] Checking latexindent: which latexindent.pl
[19:23:59.537][Format][TeX] Error when checking latexindent: which: no latexindent.pl in (/app/bin:/app/bin:/app/bin:/usr/bin:/home/gabriel/.var/app/com.vscodium.codium/data/node/bin:/home/gabriel/.var/app/com.vscodium.codium/data/cargo/bin:/home/gabriel/.var/app/com.vscodium.codium/data/python/bin:/home/gabriel/.var/app/com.vscodium.codium/data/gem/ruby/3.2.0/bin)

[19:23:59.538][Format][TeX] Can not find  in PATH: /app/bin:/app/bin:/app/bin:/usr/bin:/home/gabriel/.var/app/com.vscodium.codium/data/node/bin:/home/gabriel/.var/app/com.vscodium.codium/data/cargo/bin:/home/gabriel/.var/app/com.vscodium.codium/data/python/bin:/home/gabriel/.var/app/com.vscodium.codium/data/gem/ruby/3.2.0/bin
[19:23:59.590][Extension] onDidSaveTextDocument triggered: file://%WS1%/main.tex
[19:23:59.641][Cacher][Watcher] "change" emitted on %WS1%/main.tex.
[19:23:59.642][Cacher] Caching %WS1%/main.tex .
[19:23:59.643][Cacher] Updated inputs of %WS1%/main.tex .
[19:23:59.643][Cacher] Parse LaTeX AST: %WS1%/main.tex .
[19:23:59.644][Build] Auto build starteddetecting the change of a file: %WS1%/main.tex .
[19:23:59.644][Event] AUTO_BUILD_INITIATED: {"type":"onFileChange","file":"%WS1%/main.tex"}
[19:23:59.645][Build] The document of the active editor: file://%WS1%/main.tex
[19:23:59.645][Build] The languageId of the document: latex
[19:23:59.645][Build] Building root file: %WS1%/main.tex
[19:23:59.645][Build][Recipe] Build root file %WS1%/main.tex
[19:23:59.646][Event] FILE_CHANGED: "%WS1%/main.tex"
[19:23:59.647][Build][Recipe] Preparing to run recipe: latexmk.
[19:23:59.647][Build][Recipe] Prepared 1 tools.
[19:23:59.649][Build][Recipe] outDir: %WS1% .
[19:23:59.650][Build] Recipe step 1 The command is latexmk:["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","-outdir=%WS1%","%WS1%/main"].
[19:23:59.650][Build] env: {}
[19:23:59.650][Build] root: %WS1%/main.tex
[19:23:59.651][Build] cwd: %WS1%
[19:23:59.662][Build] LaTeX build process spawned with PID undefined.
[19:23:59.664][Build] LaTeX fatal error on PID undefined. Error: spawn latexmk ENOENT
[19:23:59.664]Error: spawn latexmk ENOENT
	at Process.onexit (node:internal/child_process:283:19)
	at onErrorNT (node:internal/child_process:476:16)
	at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[19:23:59.664][Build] Does the executable exist? $PATH: /app/bin:/app/bin:/app/bin:/usr/bin:/home/gabriel/.var/app/com.vscodium.codium/data/node/bin:/home/gabriel/.var/app/com.vscodium.codium/data/cargo/bin:/home/gabriel/.var/app/com.vscodium.codium/data/python/bin:/home/gabriel/.var/app/com.vscodium.codium/data/gem/ruby/3.2.0/bin, $Path: undefined, $SHELL: /bin/sh
[19:23:59.665][Build] 
[19:23:59.690][Cacher] Parsed LaTeX AST: %WS1%/main.tex .
[19:23:59.691][File] Calling kpsewhich to resolve article.cls .
[19:23:59.700][File] kpsewhich returned with non-zero code null.
[19:23:59.702][Cacher] Updated elements in 11.33 ms: %WS1%/main.tex .
[19:23:59.703][Event] FILE_PARSED: "%WS1%/main.tex"
[19:23:59.704][Structure] Structure force updated with 0 root sections for %WS1%/main.tex .
[19:23:59.705][Event] STRUCTURE_UPDATED

You are using vscode with flatpak, so it is sandboxed and can’t access the rest of the files, especially not anything on PATH.

1 Like

You’re right, I installed vscode from the official repositories and now the document is compiling. But I now have a bunch of other errors, notably related to libraries that I import as content headers but that are not recognized, such as babel-french or sinuitx. These blbliotheques are quite common and yet they’re obviously not included in texlive-basic. I’ve installed all latex-related packages except texlive-full, which is done via AUR. I think this brings us back to the original problem. Do I have to restart the installation to retrieve all the error messages or can I retrieve them directly from a log file?

Install it from the official repositories;
you may well be pleasantly surprised by available options:

[nix@nix ~]$ sudo pacman -S texlive
:: There are 22 members in group texlive:
:: Repository extra
   1) texlive-basic  2) texlive-bibtexextra  3) texlive-binextra  4) texlive-context  5) texlive-fontsextra
   6) texlive-fontsrecommended  7) texlive-fontutils  8) texlive-formatsextra  9) texlive-games  10) texlive-humanities
   11) texlive-latex  12) texlive-latexextra  13) texlive-latexrecommended  14) texlive-luatex  15) texlive-mathscience
   16) texlive-metapost  17) texlive-music  18) texlive-pictures  19) texlive-plaingeneric  20) texlive-pstricks
   21) texlive-publishers  22) texlive-xetex

Enter a selection (default=all):

Note that texlive-basic is likely all you actually need.

Cheers.

LaTeX package Provided by repo package
texlive-babel-french texlive-langfrench
texlive-siunitx texlive-mathscience

Edit: Also note that if you intend to use latexindent, you may also want/need to install perl-yaml-tiny and perl-file-homedir.

If you are going to use Tex Live with multiple libraries and for serious work, then install the native one instead of Arch packaged Tex Live.

With native Tex Live you need 7GB of free space, and you will have access to full docs (using texdoc) which is not possible via Arch packaged Tex Live, plus you can upgrade your installed libraries via tlmgr tool, but each year when a new version of Tex Live is released you need to reinstall the whole thing.

Read the full content of TeX Live - Quick install before starting.
And also check Arch-packaged TeX Live vs native TeX Live.

1 Like

In fact, there are far more directories available via the terminal than via the pamac GUI. So I selected them all to make sure that all the necessary packages were included. But then again, when I compile, I always get compilation errors, especially when it comes to French language support. As indicated, I uninstalled texlive from Arch media and compiled the complete distribution following the documentation. I followed the procedure to update PATH.


export PATH=/usr/local/texlive/2024/bin/x86_64-linux:$PATH                                                                                           
source ~/.zshrc

After compiling. I still can’t compile to PDF without errors.

[18:25:13.208][Format][TeX] Start formatting with latexindent.
[18:25:13.209][Format][TeX] Checking latexindent: which latexindent
[18:25:13.225][Format][TeX] Error when checking latexindent: which: no latexindent in (/home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin)
[18:25:13.226][Format][TeX] Checking latexindent: which latexindent.pl
[18:25:13.239][Format][TeX] Error when checking latexindent: which: no latexindent.pl in (/home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin)
[18:25:13.240][Format][TeX] Can not find in PATH: /home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin
[18:25:13.248][Extension] onDidSaveTextDocument triggered: file://%WS1%/main.tex
[18:25:13.324][Cacher][Watcher] "change" emitted on %WS1%/main.tex.
[18:25:13.325][Cacher] Caching %WS1%/main.tex .
[18:25:13.326][Cacher] Updated inputs of %WS1%/main.tex .
[18:25:13.327][Cacher] Parse LaTeX AST: %WS1%/main.tex .
[18:25:13.327][Build] Auto build starteddetecting the change of a file: %WS1%/main.tex .
[18:25:13.328][Event] AUTO_BUILD_INITIATED: {"type":"onFileChange","file":"%WS1%/main.tex"}
[18:25:13.328][Build] The document of the active editor: file://%WS1%/main.tex
[18:25:13.328][Build] The languageId of the document: latex
[18:25:13.329][Build] Building root file: %WS1%/main.tex
[18:25:13.329][Build][Recipe] Build root file %WS1%/main.tex
[18:25:13.330][Event] FILE_CHANGED: "%WS1%/main.tex"
[18:25:13.333][Build][Recipe] Preparing to run recipe: latexmk.
[18:25:13.334][Build][Recipe] Prepared 1 tools.
[18:25:13.336][Build][Recipe] outDir: %WS1% .
[18:25:13.338][Build] Recipe step 1 The command is latexmk:["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","-outdir=%WS1%","%WS1%/main"].
[18:25:13.338][Build] env: {}
[18:25:13.338][Build] root: %WS1%/main.tex
[18:25:13.339][Build] cwd: %WS1%
[18:25:13.350][Build] LaTeX build process spawned with PID undefined.
[18:25:13.351][Build] LaTeX fatal error on PID undefined. Error: spawn latexmk ENOENT
[18:25:13.351]Error: spawn latexmk ENOENT
at Process.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[18:25:13.351][Build] Does the executable exist? $PATH: /home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin, $Path: undefined, $SHELL: /usr/bin/fish
[18:25:13.352][Build]
[18:25:13.421][Cacher] Parsed LaTeX AST: %WS1%/main.tex .
[18:25:13.422][File] Calling kpsewhich to resolve article.cls .
[18:25:13.432][File] kpsewhich returned with non-zero code 1.
[18:25:13.438][Cacher] Updated elements in 16.09 ms: %WS1%/main.tex .
[18:25:13.439][Event] FILE_PARSED: "%WS1%/main.tex"
[18:25:13.441][Structure] Structure force updated with 3 root sections for %WS1%/main.tex .
[18:25:13.442][Event] STRUCTURE_UPDATED
[18:25:30.769][Format][TeX] Start formatting with latexindent.
[18:25:30.770][Format][TeX] Checking latexindent: which latexindent
[18:25:30.781][Format][TeX] Error when checking latexindent: which: no latexindent in (/home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin)
[18:25:30.782][Format][TeX] Checking latexindent: which latexindent.pl
[18:25:30.792][Format][TeX] Error when checking latexindent: which: no latexindent.pl in (/home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin)
[18:25:30.793][Format][TeX] Can not find in PATH: /home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin
[18:25:30.820][Extension] onDidSaveTextDocument triggered: file://%WS1%/main.tex
[18:25:30.893][Cacher][Watcher] "change" emitted on %WS1%/main.tex.
[18:25:30.895][Cacher] Caching %WS1%/main.tex .
[18:25:30.896][Cacher] Updated inputs of %WS1%/main.tex .
[18:25:30.897][Cacher] Parse LaTeX AST: %WS1%/main.tex .
[18:25:30.897][Build] Auto build starteddetecting the change of a file: %WS1%/main.tex .
[18:25:30.897][Event] AUTO_BUILD_INITIATED: {"type":"onFileChange","file":"%WS1%/main.tex"}
[18:25:30.898][Build] The document of the active editor: output:extension-output-James-Yu.latex-workshop-%231-LaTeX Workshop
[18:25:30.898][Build] The languageId of the document: Log
[18:25:30.898][Build] Building root file: %WS1%/main.tex
[18:25:30.899][Build][Recipe] Build root file %WS1%/main.tex
[18:25:30.899][Event] FILE_CHANGED: "%WS1%/main.tex"
[18:25:30.902][Build][Recipe] Preparing to run recipe: latexmk.
[18:25:30.903][Build][Recipe] Prepared 1 tools.
[18:25:30.904][Build][Recipe] outDir: %WS1% .
[18:25:30.905][Build] Recipe step 1 The command is latexmk:["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","-outdir=%WS1%","%WS1%/main"].
[18:25:30.906][Build] env: {}
[18:25:30.906][Build] root: %WS1%/main.tex
[18:25:30.907][Build] cwd: %WS1%
[18:25:30.917][Build] LaTeX build process spawned with PID undefined.
[18:25:30.919][Build] LaTeX fatal error on PID undefined. Error: spawn latexmk ENOENT
[18:25:30.919]Error: spawn latexmk ENOENT
at Process.onexit (node:internal/child_process:283:19)
at onErrorNT (node:internal/child_process:476:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[18:25:30.920][Build] Does the executable exist? $PATH: /home/gabriel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin, $Path: undefined, $SHELL: /usr/bin/fish
[18:25:30.920][Build]
[18:25:30.990][Cacher] Parsed LaTeX AST: %WS1%/main.tex .
[18:25:30.990][File] Calling kpsewhich to resolve article.cls .
[18:25:31.000][File] kpsewhich returned with non-zero code 1.
[18:25:31.004][Cacher] Updated elements in 13.58 ms: %WS1%/main.tex .
[18:25:31.005][Event] FILE_PARSED: "%WS1%/main.tex"
[18:25:31.006][Structure] Structure force updated with 3 root sections for %WS1%/main.tex .
[18:25:31.006][Event] STRUCTURE_UPDATED

This seems inconsistent.

this is just for this one terminal session (if I’m not mistaken)
To be permanent, this has to be written into ~/.profile or the zsh or fish equivalent.

The only way I know off the top of my head to check for the actual value of $PATH is:
printenv | grep ^PATH

but I don’t know whether that is specific to bash shell -
it’s the only shell I know anything about …

I’ve checked the .zshrc file and it looks like it’s been added. I uninstalled fish to be sure that VScode would use zsh to compile the code. It seems incomprehensible, the full distribution is obviously installed but I can’t call it. Is there another way of checking whether texlive has been added to the path without consulting .zshrc?


# Use powerline
USE_POWERLINE="true"
# Has weird character width
# Example:
#    is not a diamond
HAS_WIDECHARS="false"
# Source manjaro-zsh-configuration
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
  source /usr/share/zsh/manjaro-zsh-config
fi
# Use manjaro zsh prompt
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
  source /usr/share/zsh/manjaro-zsh-prompt
fi

export PATH=/usr/local/texlive/2024/bin/x86_64-linux:$PATH

Will uninstalling one just revert to the other? Don’t know …
chsh might be needed

echo $SHELL

and

I don’t use zsh - I’m not sure whether that entry in ~/.zshrc is the proper way to extend the $PATH
For bash I do it in ~/.profile
or system wide in /etc/profile

Even in (unaltered) Plasma/KDE, the default system wide shell is still bash, I think.
Just the default Konsole profile is using zsh.

You’re right, by typing in the console echo $SHELL

I get: /usr/bin/fish

To restore zsh as a shell, I use chsh -s $(which zsh)

But even after rebooting, I still get the same errors when compiling.

I have no idea how you are doing what you are doing (compiling tex from within another program, I guess).
Or how you are sure that this program also uses zsh.
Perhaps it is using the shell that is set system wide? I just don’t know.
That is likely not the case if you start it from terminal - which isn’t likely.
But I don’t know the program - I do not/can not program.

And I’m sceptical that how you set your $PATH is the proper way to do it.

… but that might be just for the terminal session - while vscodium might be using the system wide shell, which likely is still bash :man_shrugging:

The PATH that you set (or think you have set) is clearly not available to the program, as can be seen from the error messages.

I changed my shell to bash again to be sure that VScode was using the right shell to compile my project. I don’t really know how to do this, so I’ll put what I’ve added at the end of .bashrc.

export PATH=/usr/local/texlive/2024/bin/x86_64-linux

In doing so source ~/.bashrc i had:

/usr/share/bash-completion/bash_completion:45: command not found: shopt
/usr/share/bash-completion/bash_completion:53: command not found: complete
/usr/share/bash-completion/bash_completion:56: command not found: complete
/usr/share/bash-completion/bash_completion:59: command not found: complete
/usr/share/bash-completion/bash_completion:62: command not found: complete
/usr/share/bash-completion/bash_completion:65: command not found: complete
/usr/share/bash-completion/bash_completion:68: command not found: complete
/usr/share/bash-completion/bash_completion:71: command not found: complete
/usr/share/bash-completion/bash_completion:74: command not found: complete
/usr/share/bash-completion/bash_completion:77: command not found: complete
/usr/share/bash-completion/bash_completion:80: command not found: complete
/usr/share/bash-completion/bash_completion:1567: parse error near `|'
/home/gabriel/.bashrc:type:65: bad option: -P
/home/gabriel/.bashrc:106: command not found: shopt
/home/gabriel/.bashrc:108: command not found: shopt
/home/gabriel/.bashrc:113: command not found: shopt

this is not the file to do that
~/.profile is

And you clearly altered something else in that file, further up, probably unintentional.
Those errors are not normal.
Revert what you did.
(those numbers 65, 106, 108, 113 are line numbers in that file - they give you a clue where the error(s) originate)

this is how I add to my PATH - in ~/.profile

# set PATH so it includes user's private local/bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"

I think it would be best to restore the original files
.bash_profile, .bashrc, .profile and .zshrc
from /etc/skel, so that they are “known good”.
Then start over.