2

当我运行rebar generate使用 reltool 生成节点时,它失败并显示以下错误消息:

ERROR: Unable to generate spec: read file info /usr/lib/erlang/man/man1/gserialver.1.gz failed

为什么会发生这种情况,我该怎么办?

如果有帮助,我正在运行 Debian 挤压 (6.0.6)。

4

1 回答 1

3

当rebarUnable to generate spec从 reltool 收到错误消息时打印;消息的其余部分直接来自 reltool。在这种情况下,reltool 试图获取 Erlang 目录中各种文件的文件信息,但由于gserialver.1.gz是一个悬空符号链接而失败。

你可能想知道为什么gserialver.1.gz安装在/usr/lib/erlang. 实际上不是,但 Debian 创建/usr/lib/erlang/man一个符号链接/usr/share/man

$ ls -l /usr/lib/erlang/man
lrwxrwxrwx 1 root root 15 Nov 15 12:19 /usr/lib/erlang/man -> ../../share/man

所以真正的罪魁祸首是/usr/share/man/man1/gserialver.1.gz,它是由包安装的gcj-jre-headless。有一个关于声称已修复的错误报告;但是,如果您的盒子不是这种情况,这里有一个命令可以将文件移开并让钢筋满意:

sudo dpkg-divert --divert /var/gserialver.1.gz --rename /usr/share/man/man1/gserialver.1.gz
于 2012-11-15T15:03:23.807 回答