当我使用reltool运行rebar generate
生成节点时,它会失败并显示以下错误消息:
ERROR: Unable to generate spec: read file info /usr/lib/erlang/man/man1/gserialver.1.gz failed
为什么会发生这种情况,我该怎么办呢?
我正在运行Debian squeeze(6.0.6),如果有帮助的话。
答案 0 :(得分:3)
钢筋打印Unable to generate spec
;消息的其余部分直接来自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
安装。 a bug report有关于此已声明已经修复的内容;然而,如果您的盒子上的情况不是这样的话,这里有一个命令可以将文件移开并使钢筋变得快乐:
sudo dpkg-divert --divert /var/gserialver.1.gz --rename /usr/share/man/man1/gserialver.1.gz