在 texlive 2011 更新后(两天前),biber(0.9.9 版)完全崩溃了。通过 google 找到的解决方案(删除目录 /tmp/par-.....)不起作用。错误如下:
~/Git/DISS$ biber -h
Can't load '/tmp/par-6772656269/cache- ab06f20732bfab23dfa35f56998ad4edca61bee1/608da891.so'
for module XML::LibXML: /tmp/par-6772656269/cache-ab06f20732bfab23dfa35f56998ad4edca61bee1/libz.so.1:
version `ZLIB_1.2.3.3' not found (required by /usr/lib/../lib/libxml2.so.2) at /usr/local/perl/lib/5.14.1/x86_64-linux-thread-multi/DynaLoader.pm line 190.
at /usr/local/perl/lib/site_perl/5.14.1/PAR/Heavy.pm line 120
BEGIN failed--compilation aborted at XML/LibXML.pm line 153.
Compilation failed in require at XML/LibXML/Simple.pm line 16.
BEGIN failed--compilation aborted at XML/LibXML/Simple.pm line 16.
Compilation failed in require at Biber/LaTeX/Recode.pm line 9.
BEGIN failed--compilation aborted at Biber/LaTeX/Recode.pm line 9.
Compilation failed in require at Biber/Utils.pm line 21.
BEGIN failed--compilation aborted at Biber/Utils.pm line 21.
Compilation failed in require at Biber/Internals.pm line 8.
BEGIN failed--compilation aborted at Biber/Internals.pm line 8.
Compilation failed in require at (eval 22) line 2.
...propagated at /usr/local/perl/lib/5.14.1/base.pm line 94.
BEGIN failed--compilation aborted at Biber.pm line 5.
Compilation failed in require at script/biber line 20.
BEGIN failed--compilation aborted at script/biber line 20.
有什么办法可以解决这个问题吗?我应该完成我的论文,而不是与 biber 错误作斗争 ;-/
提前致谢!
#经过一段时间的搜索和 texlive 重新安装后,我得到了一些进一步的信息:biber 在 /usr/local/perl/lib/5.14.1/ 中搜索,但更新后它不再存在。因此,该错误与 debian 更新有关,而不是 texlive 更新。
现在的问题是我不知道 biber 从哪里得到那个路径。如果我知道我可以调整路径,它应该可以工作。如果它是“硬编码的”,我明天会尝试创建一个符号链接
答案1
这是因为 biber 包含的一些 Linux XML 库中硬编码了一些错误的 RPATH。这意味着 biber 正在使用它本不应该使用的 OS libxml2。Wheezy 有一个非常新的 libxml2,它与 Perl XML::LibXML 模块严重冲突。现在已修复,将来不会再发生,因为构建过程会从 biber 自己的库中删除所有 RPATH 设置(RPATH 设置本来就不应该存在)。SF 上的所有二进制文件都已更新。
答案2
这类似于Tex-Editors 和 Biber/Biblatex 的引擎,只是平台不同。
从 shell 中执行
rm -fr /tmp/par-6772656269
这应该摆脱预编译的库并创建新的库。
但是,这可能是由于缺少或放错 造成的zlib
。执行命令后问题是否会再次出现rm -fr
?