1

I did read the various answers to similar questions but they did not help.

I am on Ubuntu 20.40.2, and I use TexStudio for editing/compiling my LaTeX documents.

I recently uninstalled TexLive and reinstalled it in my user directory (I installed the texlive-full (the 2021 version) in accordance with the instructions found here). When I tried compiling a beamer presentation, I got the following error message:

INFO - This is Biber 2.16
INFO - Logfile is 'presentation.blg'
INFO - Reading 'presentation.bcf'
ERROR - Error: Found biblatex control file version 3.4, expected version 3.7.
This means that your biber (2.16) and biblatex (3.10) versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
INFO - ERRORS: 1

Process exited with error(s)

However, when I tried to update my packages in tlmgr, I found that biblatex is actually ver 3.16 (and not 3.10). A screenshot from my tlmgr1

I do not know how to begin diagnosing the problem, any help would be appreciated.

  • 1
    Are you sure you don't have two latex installations? You mentioned you installed texlive into your user directory. How precisely did you add texlive to your PATH? And how exactly did you start texstudio? From a menu, double clicking a file? Additionally what does which biber and locate biber say? – daleif Jun 22 '21 at 18:02
  • @daleif I am quite sure that I have only one installation. Is there any way to check, regardless? I added texlive to PATH by adding a file texlive.sh to /etc/profile.d/, where I added the required lines in accordance with this answer (the PATH, MANPATH and INFOPATH were provided at the end of the installation). I started texstudio by double-clicking a file. which biber returns /home/VBtheHun/texlive/2021/bin/x86_64-linux/biber, and locate biber says nothing. – VBtheHun Jun 22 '21 at 19:05
  • Try running sudo updatedb to load the database for locate – daleif Jun 22 '21 at 19:07
  • And what version is biber? biber -version or similar. Was the file from before you installed tl21? Then try deleting the old generated files – daleif Jun 22 '21 at 19:08
  • I ran sudo updatedb and then locate biber. I got many lines of output. The first line was /home/VBtheHun/texlive/2021/bin/x86_64-linux/biber with a whole host of others (mostly PDFs) in /home/VBtheHun/texlive/2021/texmf-dist/doc/latex/biblatex/examples/... and a few others as well. All in /home/VBtheHun/texlive/2021/, though. biber --version returns 2.16. – VBtheHun Jun 22 '21 at 19:25
  • Did you delete the .aux, .bbl and .bcf files before you compiled your presentation? Does the error persist if you try to run a simple document in a new, empty folder? What output does kpsewhich -all biblatex.sty produce? Open the biblatex.sty indicated by the first line of the kpsewhich output and check its version number. Does it say 3.10 or 3.16? – moewe Jun 22 '21 at 20:27
  • @moewe yes I deleted all files. In fact, I copied just the .tex and .bib file to a new folder and compiled it from there, still the same results. kpsewhich -all biblatex.sty returned /home/VBtheHun/texmf/tex/latex/biblatex/biblatex.sty' and/home/VBtheHun/texlive/2021/texmf-dist/tex/latex/biblatex/biblatex.sty`. The first one says version 3.10 and the second one says 3.16. Hmm, you might be onto something. – VBtheHun Jun 22 '21 at 20:53
  • @moewe renaming the first texmf file worked! I had previously installed texlive-basic and had installed a few packages later, and those packages ended up in my user directory. They managed to slip through even this method of uninstalling Texlive completely (now the solution seems obvious). Thanks a ton! – VBtheHun Jun 22 '21 at 20:58

1 Answers1

2

If your TeX distribution's package manager (tlmgr or MikTeX Console) reports matching versions of biblatex and Biber and you still get a version mismatch after deleting the temporary .aux, .bbl and .bcf files, chances are, there are several competing versions of Biber or biblatex on your machine.

To find all competing versions of Biber on your machine, type

which -a biber

on Unixoid systems and

where biber

on Windows.

This should return all paths to Biber versions found on your machine. If there are several different Bibers in different paths, check if one of them is an remnant of an old installation. Also compare the output to the result of which -a pdflatex/where pdflatex.

To find all competing versions of biblatex on your machine, type

kpsewhich -all biblatex.sty

Ideally the path returned by kpsewhich for biblatex.sty should be compatible with the path for Biber: they should live in the same subtree, e.g. /home/VBtheHun/texlive/2021/ or C:\Program Files\MiKTeX.


As discussed in the comments, it turned out that there was a local installation of an outdated version of biblatex that masked the system installed version, which matched the Biber version.

kpsewhich -all biblatex.sty returned

/home/VBtheHun/texmf/tex/latex/biblatex/biblatex.sty
/home/VBtheHun/texlive/2021/texmf-dist/tex/latex/biblatex/biblatex.sty

where the first file was a local installation of biblatex v3.10 and the second the system-controlled installation of the current v3.16.

Deleting the local installation of biblatex completely, i.e. removing

/home/VBtheHun/texmf/tex/latex/biblatex

resolves the problem.

It is worth checking out which other packages hang around in

/home/VBtheHun/texmf

and mask system-wide installed more recent versions of the same package.

moewe
  • 175,683