erlang - 由于 gserialver.1.gz,rebar 无法生成版本

标签 erlang debian rebar

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

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

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

我正在运行 Debian squeeze (6.0.6),如果有帮助的话。

最佳答案

rebar 在从 reltool 收到错误消息时打印 Unable to generated spec;消息的其余部分直接来自 reltool。在本例中,reltool 尝试获取 Erlang 目录中各个文件的文件信息,但失败,因为 gserialver.1.gz 是一个悬空符号链接(symbolic link)。

您可能想知道为什么gserialver.1.gz安装在/usr/lib/erlang下。实际上不是,但 Debian 创建了 /usr/lib/erlang/man 作为 /usr/share/man 的符号链接(symbolic link):

$ 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

关于erlang - 由于 gserialver.1.gz,rebar 无法生成版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400218/

相关文章:

erlang - 创建纯二进制 Erlang 版本

debugging - 如何调试使用 rebar3 时运行的 Eunit 测试套件?

c - Erlang NIF : Threads locking

sockets - 由于端口命令没有返回,进程在 gen_tcp send/2 中被阻止

linux - Debian机器上的虚拟Windows Server

linux - 如何在 zsh 环境中运行 ssh-agent auto?

安装 go-mtpfs 时出现错误 "undefined: sync.Pool"

java - 存储大量套接字的最佳做法是什么?

networking - 为什么rabbitmq监听43411端口?

unit-testing - 多个应用程序出现 Eunit 错误