177

I'm trying to use biblatex and when I compile my document I get an error like the following:

Windows

data source C:\Users\<username>\AppData\Local\Temp\par-5061756c\
cache-890efc00b3ca6b775c7d44a325c1349fb2a3a3bd\inc\lib/Biber/LaTeX/recode_data.xml not found in .

Mac

data source /var/folders/v2/rld0ls7d2935gkvqv5hfr1x00000gn/T/par-616c616e/
cache-cdd483146f82a9655ce063f848d5139480fbf872/inc/lib/Biber/LaTeX/recode_data.xml not found in .

Linux

data source /tmp/par-6963617269756d/cache-f37ab610b7d79b2720a8ee3732849c6821705520
/inc/lib/Biber/LaTeX/recode_data.xml not found in .
Alan Munn
  • 218,180

2 Answers2

241

The error you are getting is a well known issue with biber that exists in versions prior to v. 2.2. For a long term solution to the problem, you should update your TeX distribution and make sure you have the latest version of biber.

But it's easy solve the problem right away, without updating immediately.

Biber creates binaries in a cache folder, and sometimes that can get corrupted. In order to solve the problem, you need to manually delete the cache folders. The name of the cache folder will be something like the following:

  • par-<hex_encoded_username>/cache-*
  • par-<hex_encoded_username>\cache-*

for Linux/OS and Windows respectively. They are located in different places on different platforms:

  • /var/folders/*/*/*/ (OSX, local GUI login shell)
  • /var/tmp/ (OSX (remote ssh login shell), Unix)
  • /tmp/ (Linux)
  • C:\Documents and Settings\<username>\Local Settings\Temp (Windows XP/Cyg- win)
  • C:\Windows\Temp (Windows)
  • C:\Users\<username>\AppData\Local\Temp (Windows 7/8)

You need to delete the relevant cache folders and compile your document again. You can find the location of the cache folder by looking at the .blg file, or by using the command.

biber --cache

On Linux and Mac, this can be combined to delete the offending folder in one command:

rm -rf `biber --cache`

More information can be found on section 4.1 of the biber manual (Section 4.1 Binary Caches).

Alan Munn
  • 218,180
  • You may add that the information about the location of the faulty cache can also be found in the .blg file. – egreg Oct 26 '13 at 22:13
  • 1
    And it can be found by simply looking at the error message: C:\Users\<username>\AppData\Local\Temp\par-5061756c\ – Ulrike Fischer Oct 27 '13 at 10:28
  • 11
    I solve this problem in *NIX systems (linux and MacOX) on the command line with rm -Rf "biber --cache" (sorry, I do not know how to markdown backquotes, so I used " insted). Maybe you want to incorporate this into your answer. – Michael Kohlhase Feb 14 '14 at 06:17
  • This is great. Does anybody now if this has been reported to the package maintainers? I know I've been getting this bug for well over a year and I'm still getting this on biber v. 1.8. – shane Mar 12 '14 at 14:04
  • 3
    I am looking into this again and it seems that it is probably related to windows automatic cleanup of Temp data dirs. The problem is that it cleans up things that are not locked and then when you run the next time, the cache unpacking happens again automatically for missing items - however - special files like the recode XML are not unpacked auutomatically again, hence the error. The workaround is still to delete and re-create the cache but I'm looking into potential other workarounds. – PLK Dec 16 '14 at 18:13
  • 3
    It's unbelievable that this is still a problem in biber 1.9 – one that I encountered twice in the last month without doing any modifications. Since every minor release seems to be taking about a year, I don't expect it to be fixed any soon… :-( – Harold Cavendish Dec 27 '14 at 11:27
  • 2
    @PLK: this is not just a Windows issue. My OS X install has had this problem for years and I still encounter it once a week or so. – Kai von Fintel Jan 13 '15 at 17:50
  • 9
    Actually, this is now actively being addressed by the relevant module (PAR::Packer) developers and there is a beta fix out at the moment and so I hope to be able to update biber with this fix soon. – PLK Jan 26 '15 at 14:00
  • Making biber work saved me from finding out, why BibLaTex would not sort my entries with backend=bibtex and sorting=nty. – embert Mar 14 '15 at 13:56
  • 1
    I defined a bash alias for rm -rf \biber --cache` .aux .bcf *.bbl` because of this bug... – Seamus Mar 18 '15 at 12:06
  • 2
    This bug is still an ongoing problem that is making biblatex a real pain. – Aubrey Blumsohn Jun 08 '15 at 22:26
  • 1
    To reiterate, this is a problem with certain OSes which clean up tmp directories automatically. It is a known issue wth the Par::Packer perl module and is being actively addressed by the maintainer and I think there will be a fix released soon. When this has been released, I will make a new biber release with the updated module. I think this should fix this problem for good. – PLK Jun 22 '15 at 13:36
  • 1
    The PAR module which biber uses to unpack has just been updated with a fix for this issue. I am in the process of upgrading the build farms to use this and will release biber 2.2 DEV soon with this fix incorporated. – PLK Jul 24 '15 at 08:26
  • 2
    I don't think anyone should use rm -rf \biber --cache``, at least not without checking what the output of biber --cache is. In my case, this is No cache - you are not running the PAR::Packer executable version of biber, and god knows what might happen when one tries running rm -rf on this. – PhilipPirrip Aug 04 '15 at 16:29
  • For fish shell you need to run rm -rf (biber --cache) – Oğuz Şerbetci Nov 30 '20 at 14:07
  • In my case biber --cache didn't work, because it turned out I had something else installed with home-brew that was called biber (some cryptography package). Once I removed the other package, this command worked and it fixed my issue – koegl Oct 14 '22 at 12:51
10

Biber 2.2 DEV is now updated on SourceForge with an updated PAR::Packer module which is supposed to fix this. Now, biber should be able to unpack itself properly again after any OS tmp cache cleanup.

PLK
  • 22,776
  • 3
    Thanks Philip. This is really good news. When will the new version appear on CTAN (and therefore be included in the regular update process)? Perhaps I can then just update my answer when this is done. Until then, this answer is a bit premature, since I don't think it's a good idea for people to be downloading their own version of biber outside of the regular update mechanism. – Alan Munn Aug 01 '15 at 17:31
  • 1
    I'd like a few people to try this version first and see if the problem recurs first. – PLK Aug 04 '15 at 20:10
  • biber 2.2 has just been released and will make its way into TexLive soon. – PLK Oct 21 '15 at 15:53
  • Great. Thanks Philip. I've been using the pre-release version and the error has certainly disappeared. I'll update the answer to reflect the new release. – Alan Munn Oct 21 '15 at 15:56