# Installing biber for use with TeX Live 2013 on Debian wheezy

I recently backported what I think is TeX Live 2013 from Debian testing/unstable to Debian wheezy. The version number is `2013.20140314-1`. This is no longer the most current version in Debian; there is now a `2013.20140408-1`. This was not without difficulty, but that is another story. At least, I thought I had backported it, but it turns out I had overlooked something.

When I installed the `texlive-bibtex-extra` package, (which contains the biblatex LaTeX package), I discovered that biber 1.8 was also required. This is in unstable, so I tried to backport it. This is where things went wrong. For reasons unclear to me, biber requires Perl 5.16. According to perlhist, 5.16 was released in May 2012, so relatively recently.

Unfortunately, Debian wheezy uses Perl 5.14. In general, updating a basic system component like Perl is not a good idea, so I have not tried to do this, though it is possible it is harmless; I don't know. In any case, I find that I am now stuck. It is possible that I will have to fall back to the TeX Live 2012 packaged for wheezy, which would be annoying.

Can anyone suggest a solution or workaround? I know one can do a local install of TeX Live, but would that not be subject to the same problem? Unless one was to include a local copy of Perl to use specifically for this purpose, that is. Another vague possibility seems to be to bundle perl with the program somehow, perhaps by some form of static linking?

The Biber README says

You do not need to install Perl use biber--binaries are provided for many operating systems via the main TeX distributions (TeXLive, MacTeX, MiKTeX) and also via download from SourceForge.

You only need a Perl installation to use biber in one of the following cases:

• A binary version is not available for your OS/platform * You wish to keep up with all of the bleeding-edge git commits before they are packaged into a binary.

When I built and installed the Debian binary Biber package, it still complained about 5.16 being available, so I am not sure what is meant by binaries here.

-
Even if it will not solve the perl issue, I think it would be much better to install TL from upstream than to use an unofficial backport of TL 2013 in Wheezy. Basically you are trying to mix newer and older things. Sometimes you are lucky and this works; sometimes not and it won't. (Note that perl from May 2012 is 'relatively recent' whereas TL 2012 is 'annoying' because outdated. That's not intended to be a criticism - I've done the same thing - but it is guaranteed to make life interesting ;).) –  cfr Apr 11 '14 at 22:35
However, I think upstream TL will likely work without your needing to update perl because you will not be compiling it yourself. Note that I'm not certain of this but I haven't heard Debian users being unable to use upstream TL. –  cfr Apr 11 '14 at 22:37
@cfr Well, perl is a base component, so you don't want it to change very much. But TeX Live is end user, so you generally want to stay up to date if possible. Having said that, how does the local Tex Live install solve the Perl problem, and can I do the same? Also, I've used my own backports before - I've never had any problem. –  Faheem Mitha Apr 11 '14 at 22:37
You are not compiling locally if you use vanilla TL. The installation instructions note specifically that the default GNU/Linux installer is designed to work with even an extremely 'barebones' perl. I am guessing that to backport, you have to compile everything which of course requires you have all of the necessary bits and bobs installed. –  cfr Apr 11 '14 at 22:40
'You do not need to install Perl use biber--binaries are provided for many operating systems via the main TeX distributions (TeXLive, MacTeX, MiKTeX) and also via download from SourceForge.' Yes. Your problem is that you are not using pre-built binaries. That is how it works. You want something which is newer than the binaries provided so you are expected to compile it. If you used TeX Live, you would get their binaries i.e. you would not have to compile. And they obviously provide newer binaries than Debian. You could try Sourceforge's binaries but then you must install outside TL & Deb. –  cfr Apr 11 '14 at 22:45

The best solution here by far is to install vanilla TeX Live as explained in answers on this site and in the official instructions.

There is some confusion, I think. In general, there is a difference between what is needed to build a binary and what is needed to use it. The quotation from `biber`'s documentation is saying that `perl` is not needed to use pre-built binaries. When you try to build the backports package, however, you are trying to build the binary and that is what requires `perl` 5.16, it seems.

You could obtain the binary from Sourceforge, for example. However, you would need to ensure that you get the right `biber` for the version of `biblatex` you have. Moreover, you will need to re-backport and recheck etc. each time the backported package is updated.

In contrast, if you install vanilla TeX Live, you can keep everything current using `tlmgr` without having to compile anything. This is, to say the least, extremely nice. It also avoids a lot of messing about trying to figure out which package contains what in Debian's ecosystem. (This is not a criticism of Debian's packaging but if you basically want all of TeX Live, say, it is simpler to just install it.)

I think if somebody is happy with the version of TL which their distro provides, sticking with it makes a lot of sense. But once you are unhappy with it, vanilla TL makes a lot more sense IMHO than the alternatives. It is simpler, easier to maintain, more transparent and cleaner. It also allows you to install TeX Live as an unprivileged user, as recommended by upstream. (Note: hardly anybody seems to do this except me but, being me, I think it an advantage.)

-

This unpacks into a single executable called `biber`. The Biber documentation informs me that they use PAR::Packer to build this executable. Apparently this packs the Perl interpreter in there along with other needed files.
I've placed this executable in `/usr/local/bin`. Since the Debian TeX maintainers, in their infinite wisdom, chose not to have texlive-bibtex-extra depend on biber (it is not even a Recommends or Suggests) I don't have to do anything else. I tested this, and it does work.