在 Debian wheezy 上安装 biber 以用于 TeX Live 2013

在 Debian wheezy 上安装 biber 以用于 TeX Live 2013

我最近将我认为是 TeX Live 2013 的东西从 Debian testing/unstable 移植到了 Debian wheezy。版本号是2013.20140314-1。这不再是 Debian 中最新的版本;现在有2013.20140408-1。这并非毫无困难,但那是另一回事。至少,我以为我已经将它移植了,但结果发现我忽略了一些东西。

当我安装该texlive-bibtex-extra软件包(其中包含 biblatex LaTeX 软件包)时,我发现还需要 biber 1.8。这是不稳定的,所以我试图将其反向移植。这就是问题所在。由于我不清楚的原因,biber 需要 Perl 5.16。根据佩尔希斯,5.16 于 2012 年 5 月发布,所以相对较新。

不幸的是,Debian wheezy 使用 Perl 5.14。一般来说,更新像 Perl 这样的系统基本组件并不是一个好主意,所以我没有尝试这样做,尽管这样做可能无害;我不知道。无论如何,我发现我现在陷入困境。我可能不得不退回到为 wheezy 打包的 TeX Live 2012,这会很烦人。

有人能提出解决方案或解决方法吗?我知道可以本地安装 TeX Live,但这样不会遇到同样的问题吗?除非有人要包含一个 Perl 的本地副本专门用于此目的。另一个模糊的可能性似乎是以某种方式将 perl 与程序捆绑在一起,也许是通过某种形式的静态链接?

Biber README 说

您不需要安装 Perl,而是使用 biber——通过主要的 TeX 发行版(TeXLive、MacTeX、MiKTeX)以及通过从 SourceForge 下载,为许多操作系统提供二进制文件。

您只需安装 Perl 即可在下列情况下使用 biber:

  • 您的操作系统/平台没有可用的二进制版本 * 您希望在将所有最新的 git 提交打包成二进制文件之前跟上它们。

当我构建并安装 Debian 二进制 Biber 包时,它仍然抱怨 5.16 可用,所以我不确定这里的二进制文件是什么意思。

答案1

目前最好的解决方案是安装 vanilla TeX Live,如本网站有答案以及官方说明

我认为有些混淆。一般来说,建造二进制文件以及需要什么使用biber它。的文档中的引文是说perl不需要使用预先构建的二进制文件。但是,当您尝试构建 backports 包时,您正在尝试建造二进制文件,perl看来这就是需要 5.16 的原因。

例如,您可以从 Sourceforge 获取二进制文件。但是,您需要确保获取的版本biber适合您所拥有的版本biblatex。此外,每次更新反向移植的软件包时,您都需要重新反向移植和重新检查等。

相比之下,如果您安装 vanilla TeX Live,则可以保持所有内容的最新状态,tlmgr而无需编译任何内容。至少可以说,这非常好。它还避免了在 Debian 生态系统中试图弄清楚哪个包包含什么的大量麻烦。(这并不是对 Debian 打包的批评,但如果您基本上想要所有的 TeX Live,那么直接安装它会更简单。)

我认为,如果有人对他们的发行版提供的 TL 版本感到满意,那么坚持使用它就很有意义了。但是一旦你对它不满意,在我看来,原始 TL 比其他选择更有意义。它更简单、更易于维护、更透明、更干净。它还允许您以非特权用户身份安装 TeX Live,这是上游推荐的。(注意:除了我之外,几乎没有人这样做,但作为我,我认为这是一个优势。)

答案2

因此,我使用了以下解决方法。我从以下网站下载了 biber-linux_x86_64.tar.gz http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/1.8/binaries/Linux/biber-linux_x86_64.tar.gz/download

这会解压为一个名为 的可执行文件biber。Biber 文档告诉我,他们使用 PAR::Packer 来构建此可执行文件。显然,这会将 Perl 解释器与其他所需文件一起打包到其中。

我已将此可执行文件放在 中/usr/local/bin。由于 Debian TeX 维护者以其无穷的智慧选择不让 texlive-bibtex-extra 依赖于 biber(它甚至不是推荐或建议),所以我不需要做任何其他事情。我对此进行了测试,它确实有效。

我不太喜欢这个解决方案,但我可以接受它。如果我想成为二进制 Debian 软件包纯粹主义者,我可以为这个单个可执行文件构建一个 Debian 软件包,但这似乎不值得。或者,更进一步,我可以构建一个“适当的”Debian 软件包,使用 Biber 源中的 PAR::Packer 编译这个可执行文件,但这似乎更不值得,因为它不仅需要从头开始编写打包,而且如果没有一些额外的软件包,也无法在 Wheezy 上构建。

感谢@cfr 的有益建议。

相关内容